创建滑动条背景文件 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>
<solid android:color="#EFE6DA" />
<corners android:radius="@dimen/dp_10" />
<size android:height="@dimen/dp_15" />
</shape>
</item>
<item android:id="@android:id/progress">
<scale android:scaleWidth="100%" >
<shape>
<corners android:radius="@dimen/dp_10" />
<solid android:color="#FCC967" />
</shape>
</scale>
</item>
</layer-list>
创建滑动块样式文件 slider_thumb.xml
<!-- res/drawable/slider_thumb.xml -->
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:id="@android:id/mask">
<shape android:shape="oval">
<solid android:color="@android:color/white"/> <!-- 滑块遮罩颜色 -->
<size android:width="15dp" android:height="15dp"/> <!-- 滑块大小 -->
</shape>
</item>
<item android:id="@android:id/background">
<shape android:shape="oval">
<solid android:color="@android:color/transparent"/>
<stroke android:width="2dp" android:color="@android:color/black"/>
<solid android:color="@android:color/white"/> <!-- 滑块内部填充颜色 -->
<size android:width="10dp" android:height="10dp"/> <!-- 调整滑块实际内容区域大小,考虑边框宽度 -->
</shape>
</item>
</ripple>
在布局文件中使用
<androidx.appcompat.widget.AppCompatSeekBar
android:id="@+id/seekBar"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/dp_10"
android:max="20"
android:maxHeight="@dimen/dp_6"
android:min="4"
android:minHeight="@dimen/dp_6"
android:padding="@dimen/dp_9"
android:progress="10"
android:progressDrawable="@drawable/progress_bg"
android:splitTrack="false"
android:thumb="@drawable/slider_thumb"/>
当然滑块样式也可以用图片,把上面thumb指向图片就行
android:thumb="@mipmap/black_arrow"