效果图如下:
步骤:
1、重新绘制SeekBar的背景等
seekbar_horizontal.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="@color/colorWhite" /> <!--第二层进度颜色(缓存之类的)--> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <corners android:radius="2.0dip" /> <gradient android:startColor="#80ffd300" android:endColor="#a0ffcb00" android:angle="270.0" android:centerY="0.75" android:centerColor="#80ffb600" /> </shape> </clip> </item> <!--进度的颜色或者图片--> <item android:id="@android:id/progress"> <clip android:drawable="@color/colorAccent" /> </item> </layer-list>
2、自定义SeekBar的style。
<style name="Widget.SeekBar.Normal" parent="@android:style/Widget.SeekBar"> <item name="android:maxHeight">3dp</item> <item name="android:indeterminateOnly">false</item> <item name="android:indeterminateDrawable">@android:drawable/progress_indeterminate_horizontal</item> <item name="android:progressDrawable">@drawable/seekbar_horizontal</item> <item name="android:minHeight">3dp</item> <item name="android:thumb">@mipmap/icon_seekbar_btn</item> <item name="android:thumbOffset">2dp</item> </style>
3、在布局文件引用
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/colorDeepGray" xmlns:android="http://schemas.android.com/apk/res/android"> <SeekBar android:id="@+id/Main_sBar" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:padding="10dp" style="@style/Widget.SeekBar.Normal"/> </LinearLayout>
备注:ProgressBar进度条自定义和SeekBar类型。