记录下seekbar 的常用写法,下次在写的时候可以直接copy
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:maxHeight="@dimen/x10"
android:minHeight="@dimen/x10"
android:max="100"
android:progress="60"
android:paddingStart="0dp"
android:paddingEnd="0dp"
android:progressDrawable="@drawable/seekbar_progress"
android:thumb="@drawable/seekbar_thumb"
android:thumbOffset="0dp"/>
默认seekbar两边会有间隙,一般需要去掉,加上这两个属性可以实现
android:paddingStart="0dp"
android:paddingEnd="0dp"
thumbOffset的作用是指示thumb(滑块)在拖动条的进度最大值与最小值时相对于拖动条的偏移量
thumbOffset值 | seekbar的最左端 | seekbar的最右端 |
---|---|---|
0 | thumb的最左端与SeekBar的最左端对齐 | thumb的最右端与SeekBar的 最右端对齐 |
10 | thumb的最左端比SeekBar的最左端小10px 如果SeekBar设置的android:paddingLeft 比10px要小, 那么此时thumb会被遮挡掉左边的部分 |
thumb的最右端比SeekBar的最右端大10px 如果SeekBar设置的android:paddingRight 比10px要小,那么此时thumb会被遮挡掉右边的部分 |
配置seekbar_progress.xml
<?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="@dimen/x10"></corners>
<solid android:color="@color/color_33ffffff" />
</shape>
</item>
<item android:id="@*android:id/secondaryProgress">
<clip>
<shape>
<corners android:radius="@dimen/x10"></corners>
<solid android:color="@color/color_33ffffff" />
</shape>
</clip>
</item>
<item android:id="@*android:id/progress">
<clip>
<shape>
<corners android:radius="@dimen/x10"></corners>
<solid android:color="@color/color_ffffff" />
</shape>
</clip>
</item>
</layer-list>