2

I've been searching any solution for hours, but couldn't find one. So here's my problem, as i've seen it's really common problem:

enter image description here

Thumb in seekbar, is not getting centered... I've made this custom seekbar by 9patch. It's been said that i'm supposed to set its minHeight and maxHeight to same size in many responses in stackoverflow. But even though i set them, it still shows up like this... It is really disturbing, is there any way to work around this?

And here is xml:

<SeekBar
     android:id="@+id/seek"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_centerVertical="true"
     android:layout_marginLeft="@dimen/padding_small"
     android:max="100"
     android:progress="60"
     android:maxHeight="@dimen/playerSeekBarHeight"
     android:minHeight="@dimen/playerSeekBarHeight"
     android:progressDrawable="@drawable/progress_bar_player"
     android:thumb="@drawable/player_sound_thumb"
     android:paddingLeft="6dp"
     android:paddingRight="6dp" />

Thanks in advance.

artless noise
  • 21,212
  • 6
  • 68
  • 105
yahya
  • 4,810
  • 3
  • 41
  • 58

4 Answers4

5

Couldn't find a way to solve this, still don't know what is the issue. Why is setting minHeight and maxHeight to same size fix for everyone but not in my case? Anyway, so i put some empty pixels into thumb image and it works.

But i would appreciate any more effective way to handle with this situation.

yahya
  • 4,810
  • 3
  • 41
  • 58
3

Yes the min height max height didn't work for me either. My issue was when I decided to create a layout for higher res screens. When i made each row in my screen larger I though I could just "match_parent" the height and it would be all good. But no I had the problem above.

I solved it by going back to "wrap_content" for the height, removing the minHeight and maxHeight tags and then using layout_marginTop to move it down to centre in the horizontal linearLayout.

I was using the default seekbar.

Hope this helps someone!

Gavin
  • 460
  • 4
  • 11
0

Try This seekbar_progress_bg.xml

<?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
    <clip >
        <bitmap
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:antialias="true"
            android:dither="false"
            android:filter="false"
            android:gravity="left"
            android:src="@drawable/progress_bar_player">
         </bitmap>
    </clip>
</item>

seekbar_progress.xml

<?xml version="1.0" encoding="utf-8"?>

<item android:id="@android:id/background">
     <nine-patch
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:dither="true"
        android:src="@drawable/whitepatch">
      </nine-patch>
</item>
<item android:id="@android:id/secondaryProgress">
       <clip >
           <shape >
              <gradient
                android:angle="270"
                android:centerColor="#80127fb1"
                android:centerY="0.75"
                android:endColor="#a004638f"
                android:startColor="#80028ac8">
               </gradient>
          </shape>
       </clip>
 </item>
 <item
         android:id="@android:id/progress"
         android:drawable="@drawable/seekbar_progress_bg">
 </item>

xml

<SeekBar
                            android:id="@+id/seekbar_bar"
                            style="?android:attr/progressBarStyleHorizontal"
                            android:layout_width="420dip"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="0dip"
                            android:layout_marginTop="12dip"
                            android:maxHeight="9dp"
                            android:minHeight="9dp"
                            android:progressDrawable="@drawable/seekbar_progress"
                            android:thumb="@drawable/player_sound_thumb" />

From this Link Custom Seek BAr

SelvaMariappan
  • 1,334
  • 2
  • 11
  • 20
0

In my case too setting min height and max height did not work.

I did it by playing with the minHeight and maxHeight values. Setting minHeight greater than maxHeight by nearly 2 times or more did the trick for me. Try setting different values for the both. Should workout...

Arjun
  • 1