一、seekbar是進度條,可以使用系統的,也可以自己定義,下面我們將自己定義一個seekbar。
1.自定義滑條,包括對背景,第一進度,第二進度的設置,通過一個xml來實現,在drawable下創建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" android:drawable="@drawable/seek_bg"> </item> <item android:id="@android:id/progress" android:drawable="@drawable/progress"> </item> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/secprogress"> </item> </layer-list>
2.自定義滑塊,包括按壓和未按壓的樣式設置,也通過xml來實現,在drawable下創建selector_thumb.xml文件。
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/thumb_press"></item> <item android:drawable="@drawable/thumb"></item> </selector>
3.樣式展示,通過seekbar兩個屬性android:thumb="@drawable/thumb",android:progressDrawable="@drawable/seekbarbackground"來設置
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="${relativePackage}.${activityClass}" > <TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="自定義seekbar" android:textColor="@android:color/holo_purple" android:textSize="20sp" /> <SeekBar android:id="@+id/sb" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/tv" android:layout_marginTop="62dp" android:progressDrawable="@drawable/seekbar" android:thumb="@drawable/selector_thumb" /> </RelativeLayout>
4.效果圖