完全用樣式的 android seekbar
阿新 • • 發佈:2018-12-10
先上效果圖:
1.在drawable中定義進度條樣式:白色背景,淺藍色已完成進度條
layer_seekbar.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> <corners android:radius="5dip" /> <solid android:color="@color/white"/> </shape> </item> <!-- 省略了二級進度條背景 --> <!-- 已完成的進度條背景 --> <item android:id="@android:id/progress"> <clip> <shape> <corners android:radius="5dip" /> <solid android:color="@color/blue"/> </shape> </clip> </item> </layer-list>
2.在drawable中定義滑動塊樣式:深藍色圓角矩形形狀
shape_seekbar_thumb.xml
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient android:angle="270" android:endColor="@color/mediumBlue" android:startColor="@color/mediumBlue" /> <size android:height="40dp" android:width="20dp" /> <corners android:radius="10dp"/> </shape>
3.在佈局中直接設定屬性即可:
<SeekBar android:layout_width="match_content" android:layout_height="wrap_content" android:minHeight="15dp" android:maxHeight="15dp" android:id="@+id/delayMeetingDialogSeekBar" android:progressDrawable="@drawable/layer_seekbar" android:thumb="@drawable/shape_seekbar_thumb" android:thumbOffset="0dip" android:background="@null" />
注意事項:
1.layout_height和minHeight,maxHeight共同確定進度條的高度,不設定後兩項的話滑動塊會和進度條同高或不顯示進度條
2.progressDrawable和thumb分別設定進度條和滑動塊的樣式,直接引用前面的xml 3.thumbOffset設定滑塊在0和100%的位置,不設定的話會超出進度條
4.background設定為null後點擊不會有點選背景色