Android 自定义seekbar

记录下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>
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容