5

在此处输入图像描述

作为我的图片,搜索栏进度 = 0,但搜索栏拇指中心不在起点。我的代码:

   <SeekBar  android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:progressDrawable="@drawable/seekbar_progress"
                 android:thumb="@drawable/seekbarthumb"
                 android:minHeight="10dip"
                 android:maxHeight="10dip"
                 android:thumbOffset="0px"
                 android:max="100"
                 android:id="@+id/bright_seekbar"
                 android:layout_marginLeft="60dip"/>

seekbar_progress

 <?xml version="1.0" encoding="utf-8"?>
 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:id="@android:id/background"> 
    <shape> 
        <corners android:radius="5dip" /> 
        <gradient 
                android:startColor="#ff9d9e9d" 
                android:centerColor="#ff5a5d5a" 
                android:centerY="0.75" 
                android:endColor="#ff747674" 
                android:angle="270" 
        /> 
    </shape> 
</item> 
<item android:id="@android:id/secondaryProgress"> 
    <clip> 
        <shape> 
            <corners android:radius="5dip" /> 
            <gradient 
                    android:startColor="#80ffd300" 
                    android:centerColor="#80ffb600" 
                    android:centerY="0.75" 
                    android:endColor="#a0ffcb00" 
                    android:angle="270" 
            /> 
        </shape> 
    </clip> 
</item> 
<item android:id="@android:id/progress"> 
    <clip> 
        <shape> 
            <corners android:radius="5dip" /> 
            <gradient 
                    android:startColor="#FFD700" 
                    android:centerColor="#FFB90F" 
                    android:centerY="0.75" 
                    android:endColor="#FFA500" 
                    android:angle="270" 
            /> 
        </shape> 
    </clip> 
 </item> 


</layer-list>

seekbarthumb.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" 
      android:drawable="@drawable/pressed_button__volume" />
<item android:state_focused="true" 
      android:drawable="@drawable/pressed_button__volume" />
<item
     android:drawable="@drawable/default_button__volume" />     
</selector>

default_button__volume 是图像

4

6 回答 6

9

终于找到了答案,这里的情况是,android:thumbOffset不是拇指位置和进度条的设置器,而是拇指开始中心点的长度,因此 seekbar,以便可以在开始点调整拇指的中心点. 因此,如果我们有一个宽度为的拇指图像50,则thumbOffset它必须是25(50/2),以便seekbar将调整拇指像素 25处的零值,这将使拇指看起来正好在中间. 感谢那个让我知道这一点的人。

于 2014-09-30T13:07:58.593 回答
3

您的拇指图像需要在中心(水平)有一个黄点;向左或向右添加透明像素以使其如此。然后,更改android:thumbOffset为拇指图像大小的一半。例如,如果您的图像宽度为10dp,则设置android:thumbOffset5dp

于 2014-02-24T18:44:49.193 回答
1

对我来说,解决方案是添加android:thumbOffset适合您布局的值,而不是将其设置为拇指图标宽度的一半。如果您设置android:thumbOffset为 +ve 值(例如 10dp),您的拇指会向左侧移动,并且该值是 -ve(例如 -10dp),而不是您的拇指向右侧移动。

于 2017-12-27T08:47:02.453 回答
0

尝试给搜索栏中的 thumbOffset 一个负值(如 -3px)。

于 2013-09-25T03:37:07.517 回答
0

添加:

android:progress="0"

对于seekbar在 xml 文件中。

或者

Java活动文件中:

SeekBar sb = (SeekBar) v.findViewById(R.id.bright_seekbar);
sb.setMax(100);
sb.setProgress(0); // Set it to zero so it will start at the left-most edge

这应该可以解决您的问题。

于 2013-09-25T03:56:00.977 回答
0

将搜索栏的 thumbOffset 设置为拇指宽度的两倍。如果您的拇指宽度为 8dp,则将 android:thumbOffset 设置为 16dp。它在我的情况下有效。

于 2019-05-15T06:51:05.547 回答