前言

seekbar是很常见的,也用的比较多,今天就整理一些seekbar相关的知识。

老生常谈,会的就跳过吧,这里只是简单的记录而已。

正文

如果不改变seekbar的progressDrawablethumb,也就是用APP的主题样式,一般情况比较丑或者跟设计不符合,基本上都需要改动。

我们这里就是自定义,也就改变了上面两个属性。

<SeekBar
    android:id="@+id/play_sb_process"
    android:layout_width="400dp"
    android:layout_height="10dp"
    android:progressDrawable="@drawable/seekbar_progres"
    android:thumb="@drawable/seekbar_thumb" />

PS: seekbar_thumb 和 seekbar_progres都在res/drawable找那个创建的。

seekbar_progres的简介

方式一:图片
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@drawable/seekbar_progres_bg_n" />
    <item
        android:id="@android:id/secondaryProgress"
        android:drawable="@drawable/seekbar_progres_bg_n" />
    <item
        android:id="@android:id/progress"
        android:drawable="@drawable/seekbar_progres_bg_p" />
</layer-list>

提供seekbar_progres_bg_n和seekbar_progres_bg_p即可,前面的底图,后面的seek后的上层图。

这种方式需要UI工程师提供图片,由于项目中一要求风格一致,这种也方便。

方式二:使用shape自定义
<?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="#ff51495e" />
        </shape>
    </item>
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#ff51495e" />
            </shape>
        </clip>
    </item>
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="@android:color/holo_red_light" />
            </shape>
        </clip>
    </item>
</layer-list>

此部分摘抄,连接见文末,链接一。

seekbar_thumb的简介

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/seekbar_thumb_p" android:state_pressed="true"/>
    <item android:drawable="@drawable/seekbar_thumb_n" android:state_focused="false" android:state_pressed="false"/>
</selector>

一般提供一个,当然两个也行,一个按下状态和一个正常状态。

seekbar 常见问题

一: 触摸区域小

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

二: 需要thumb透明状态

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

四:thumbOffset值的作用

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

五:thumb残影动画

点击seekbar外部,seekbar也出现thumb黑色圆残影动画,这个就是thumb的按下效果。

隐藏内容!
付费阅读后才能查看!
2
多个隐藏块只需支付一次

参考文章

  1. 自定义漂亮的Android SeekBar样式
  2. [摘]SeekBar的thumbOffset属性

相关文章

暂无评论

none
暂无评论...