我的布局中有一个搜索栏,我在 xml 文件中将 paddings 和 thumbOffset 设置为 8dp。
<SeekBar
android:id="@+id/seekBar1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/graph"
android:layout_marginTop="10dp"
android:max="100"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:thumbOffset="8dp"
android:progress="97"
android:progressDrawable="@drawable/rounded_corner_seekbar" />
我遇到的问题是,当进度接近尾声(但不是尾声)时,进度线将提前(如果进度 > 50)或落后(如果进度 < 50)。此图显示了正在发生的事情(进度分别设置为 97 和 3):
.
您可以在第一个和第二个中看到拇指前面的进度线。
如果我将 paddings 和 thumbOffset 设置为默认值,则不会发生这种情况,但是,thumb 不会从矩形内部开始,它会在它的边缘。
.
我正在寻找的解决方案是让背景变大,这样拇指就会在里面,但进度线会跟随拇指的中心。
下面是我如何定义搜索栏的背景:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- view background color -->
<solid
android:color="#000000" >
</solid>
<!-- view border color and width -->
<stroke
android:width="2dp"
android:color="#FFFFFF" >
</stroke>
<!-- Here is the corner radius -->
<corners
android:radius="5dp" >
</corners>
</shape>
主要问题是进度线总是从矩形的边缘开始,而由于填充和 thumbOffset,thumb 可能不会。如果我找到一种方法使线条的开始和结束位置与拇指相同,它也会起作用。
最佳答案
解决方案刚刚设置 - android:thumbOffset="0dp"
关于Android SeekBar - 进度线不跟随拇指,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956121/