anroid seekbar 自定义风格

来源:互联网 发布:商城类网站源码 编辑:程序博客网 时间:2024/05/21 09:42

     在使用seekbar的时候,需要实现OnSeekBarChangeListener的下面三个接口

@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) {// TODO Auto-generated method stub}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {// TODO Auto-generated method stub}


每个接口都是干什么的,这个不多说,字面上可以理解;

原始的seekbar有点难看,一般在应用中我们要使用自定义画面的seekbar

有两种方法,区别在于进度条的实现

  1. 颜色实现
  2. 图片实现

1. 颜色实现方式

        在/res/drawable/目录下定义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>            <solid android:color="#ff51495e"/>        </shape>    </item>    <item android:id="@android:id/secondaryProgress">        <clip>            <shape>            <solid android:color="#ffeb3305"/>        </shape>            </clip>    </item>    <item android:id="@android:id/progress">        <clip>            <shape>            <solid android:color="#ff200be1"/>        </shape>        </clip>    </item></layer-list>

效果如下

2. 图片方式实现

      同样在/res/drawable/目录下定义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/bak">    </item>    <item android:id="@android:id/progress">        <scale android:drawable="@drawable/front" android:scaleWidth="100%"/>    </item></layer-list>


效果

 

ps: layer-list的item按照从下往上的顺序叠加;

对于上层color实现要使用clip;图片实现方式要使用scale,否则会覆盖下层layer;

对于图片实现用到了android的.9.png进行拉伸;

 

附源代码下载:

http://download.csdn.net/detail/zmscs/8496615

 

0 0
原创粉丝点击