seekbar是android的进度条控件。在开发过程中,原生的样式不一定能满足客户端的需求。所以我们需要对seekbar的样式进行自定义。在seekbar的控件中有一个名为progressDrawable的属性。我想当然的认为这个属性就是放9patch图片资源或者是shape资源用来代替原生进度条填充物样式的,结果可想而知。
这个属性需要用到一个名为layer-list的资源文件。下面我直接上代码,大家一看便知。
下面是seebar的属性
SeekBar
android:id="@+id/sb_bottom"
android:layout_width="match_parent"
ndroid:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:maxHeight="5dp"
android:progressDrawable="@drawable/layer_list_seekbar"
android:thumb="@drawable/seekbar_thumb" />
下面是layer-list的配置文件,创建到drawable目录下即可,内容可直接复制,然后根据自己的需求修改。
<?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>
<corners android:radius="3dp" />
<!--<gradient-->
<!--android:angle="270"-->
<!--android:centerColor="#2B2B2B"-->
<!--android:centerY="0.75"-->
<!--android:endColor="#ff747674"-->
<!--android:startColor="#ff9d9e9d" />-->
<solid android:color="#2B2B2B" />
</shape>
</item>
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="3dp" />
<!--<gradient-->
<!--android:angle="270"-->
<!--android:centerColor="#ff3399CC"-->
<!--android:centerY="0.75"-->
<!--android:endColor="#ff6699CC"-->
<!--android:startColor="#ff0099CC" />-->
<solid android:color="#2496F6" />
</shape>
</clip>
</item>
</layer-list>
只要按照以上的方法去配置属性,就可以简单的完成seekbar的自定义。