<SeekBar
            android:id="@+id/sb_control_air_temperature"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginHorizontal="@dimen/dp_50"
            android:layout_marginTop="@dimen/dp_12"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:progressDrawable="@drawable/shape_progress_bg"
            android:thumb="@drawable/shape_progress_handle"
            android:splitTrack="false"
            app:layout_constraintTop_toBottomOf="@+id/view_control_air_temperature" />
shape_progress_bg
<?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/dp_10" />
            <gradient
                android:angle="0"
                android:endColor="@color/clr_FF8A8A"
                android:startColor="@color/clr_7BDCF6" />
        </shape>
    </item>
    <!--二层背景-->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <corners android:radius="@dimen/dp_10" />
                <gradient
                    android:angle="0"
                    android:endColor="@color/clr_FF8A8A"
                    android:startColor="@color/clr_7BDCF6" />
            </shape>
        </clip>
    </item>
    <!--滑动过的部分-->
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <corners android:radius="@dimen/dp_10" />
                <gradient
                    android:angle="0"
                    android:endColor="@color/clr_FF8A8A"
                    android:startColor="@color/clr_7BDCF6" />
            </shape>
        </clip>
    </item>
</layer-list>
shape_progress_handle
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
    <size
        android:width="@dimen/dp_20"
        android:height="@dimen/dp_20" />
    <corners android:radius="@dimen/dp_20" />
    <solid android:color="@color/clr_FFF5F5F5" />
</shape>

thumb图片显示背景色,使用android:splitTrack="false"即可。如果SeekBar 设置thumb 图片后,设置进度100%后,覆盖最右侧一部分,解决办法就是设置偏移量 android:thumbOffset="1dp"

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐