您的位置:首页 > 移动开发 > Android开发

修改android中的seekbar控件

2015-01-27 11:25 267 查看
场景: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 !!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: