<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorAccent"></solid>
<size android:width="3dp" android:height="20dp"></size>
</shape>
以上代码填充颜色为红色,形状为一个竖条。
对SeekBar的自定义滑动条的代码
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
//**注意此处是background**
<item android:id="@android:id/background">
<shape>
<corners android:radius="10dp"></corners>
<gradient android:startColor="@color/colorBlueLight" android:endColor="@color/colorBlue" android:angle="270"></gradient>
</shape>
</item>
//**注意此处是progress**
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="10dp"></corners>
<gradient android:startColor="@color/colorAccent" android:endColor="@color/colorBlack" android:angle="270"></gradient>
</shape>
</clip>
</item>
</layer-list>
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:thumb="@drawable/seekbarthumb" //自定义的滑块样式
android:progressDrawable="@drawable/seekbardrawable"/> //自定义滑条的样式
示意图如下
设置监听事件
实现SeekBar.OnSeekBarChangeListener接口,在复写其中的三个方法:
style属性:自定义的样式的引用
一、在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" android:drawable="@mipmap/item_notcheck"></item>
<item android:id="@android:id/progress" android:drawable="@mipmap/item_check"></item>
</layer-list>
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar"> <item name="android:progressDrawable">@drawable/ratingbar</item> </style>
<RatingBar android:id="@+id/ratingBar" android:numStars="6" android:stepSize="0.5" android:rating="1" android:layout_width="wrap_content" android:layout_height="wrap_content" style="@style/MyRatingBar" />