Android 自定義SeekBar背景樣式
阿新 • • 發佈:2019-02-09
自定義Android系統控制元件的背景樣式大同小異,現在以自定義SeekBar背景樣式走下流程:
1.SeekBar的進度條樣式,custom_seekbar_progress.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="#9e9e9e"/> </shape> </item> <item android:id="@android:id/progress"> <clip> <shape> <solid android:color="#e4017f"/> </shape> </clip> </item> <item android:id="@android:id/secondaryProgress"> <clip> <shape> <solid android:color="#9e9e9e"/> </shape> </clip> </item> </layer-list>
這裡是以自定義的顏色作為進度條背景,如果要使用圖片資源,那就這樣:
<item
android:id="@android:id/background"
android:drawable="@drawable/seekbar_progess">
</item>
2.SeekBar的滑塊樣式custom_seekbar_thumb.xml:<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/seekbar_thumb_normal" android:state_focused="true" android:state_pressed="false"/> <item android:drawable="@drawable/seekbar_thumb_pressed" android:state_focused="true" android:state_pressed="true"/> <item android:drawable="@drawable/seekbar_thumb_pressed" android:state_focused="false" android:state_pressed="true"/> <item android:drawable="@drawable/seekbar_thumb_normal"/> </selector>
分別定義按下狀態與鬆開狀態下的圖片.
最後在SeekBar中使用我們自定義的屬性:
<SeekBar
android:maxHeight="3dpt"
android:minHeight="3dp"
android:progressDrawable="@drawable/custom_seekbar_progress"
android:thumb="@drawable/custom_seekbar_thumb"
....../>
maxHeigh,minHeigh 用來指定進度條的高度.