目录
前言
seekbar是很常见的,也用的比较多,今天就整理一些seekbar相关的知识。
老生常谈,会的就跳过吧,这里只是简单的记录而已。
正文
如果不改变seekbar的progressDrawable和thumb,也就是用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 常见问题
一: 触摸区域小
二: 需要thumb透明状态
四:thumbOffset值的作用
五:thumb残影动画
点击seekbar外部,seekbar也出现thumb黑色圆残影动画,这个就是thumb的按下效果。
参考文章
历史上的今天
© 版权声明