Android thumb is not centered in seekbar?

淺唱寂寞╮ 提交于 2019-12-12 21:46:47

问题


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:

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.


回答1:


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.




回答2:


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!




回答3:


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




回答4:


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...



来源:https://stackoverflow.com/questions/15701767/android-thumb-is-not-centered-in-seekbar

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!