修改android中的seekbar控件

来源:互联网 发布:淘宝助理导入csv卡住了 编辑:程序博客网 时间:2024/06/09 22:09


场景:B311 项目,图片功能模块,亮度调节功能:需要一个seekbar控件来调节屏幕的亮度,用seekbar来控制。 首先修改android原始的seekbar控件,太磕碜。

首先在 drable文件夹下新建一个 XML文件 -- pic_seekbar_slot_style.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" android:drawable="@drawable/pic_seekbar_dn" />
<!-- 显示调节槽的进度图  和调节槽的背景图形成对比 给人一种表示当前进度值的感觉-->
<item android:id="@+android:id/progress" android:drawable="@drawable/pic_seekbar_dn" />
</layer-list>
上面就建立了一个seekbar调节槽的背景图和进度图

再新建一个XML文件 ,pic_seekbar_thumb_style.xml,里面的内容为:
<?xml version="1.0" encoding="UTF-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 点击滑块进行拖动时的 按下状态 -->
<item android:state_pressed="true"
android:drawable="@drawable/pic_seekbar_thumb_dn" />

<!-- 滑块 获取 焦点状态 -->
<item android:state_focused="true"
android:drawable="@drawable/pic_seekbar_thumb_up" />

<!-- 默认状态 -->
<item android:drawable="@drawable/pic_seekbar_thumb_up" /> 

</selector>
上面就是建立了 调节槽上用来表示当前进度的滑块,这个滑块可以用来拖动,点击,分别用不同的图片去显示,当我们点击时就会显示上面定义的  按下状态  时定义的图片。

最后来应用上面定义的效果:
<SeekBar
android:id="@+id/picture_seekbar"
android:layout_width="320dp"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:max="100"
android:visibility="gone"
android:progressDrawable="@drawable/pic_seekbar_slot_style"  这里就应用上面定义的调节槽的效果
android:thumb="@drawable/pic_seekbar_thumb_style"  这里应用定义的滑块的效果
/>


这样我们就可以自定义的seekbar 控件,看起来就比较  cool !!

0 0
原创粉丝点击