1. 程式人生 > >自定義seeKbar背景

自定義seeKbar背景

最近有專案需求,需要改變seekbar的背景。記錄程式碼如下

1、首先是佈局檔案:

 <SeekBar
                    android:id="@+id/fence_seekbar"
                    android:layout_width="200dp"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:max="7"
                    android:progress="0"
                    android:minHeight="2dp"
                    android:maxHeight="2dp"
                    android:progressDrawable="@drawable/seekbar_layer_list"
                    android:thumb="@drawable/shape_seelbar_circular"
                    />


 android:progressDrawable="@drawable/seekbar_layer_list"   設定seekbar背景
 android:thumb="@drawable/shape_seelbar_circular"          設定seekbar滑塊

2、接下來是seekbar_layer_list.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="#969696"/>
            <corners android:radius="10px"/>
        </shape>
    </item>
    <!--二層背景-->
    <item android:id="@android:id/secondaryProgress">
        <clip>
            <shape>
                <solid android:color="#ff51495e"/>
                <corners android:radius="10px"/>
            </shape>
        </clip>
    </item>
    <!--滑動過的部分-->
    <item android:id="@android:id/progress">
        <clip>
            <shape>
                <solid android:color="@color/comm_sky_blue"/>
                <corners android:radius="10px"/>
            </shape>
        </clip>
    </item>
</layer-list>

3、shape_seelbar_circular.xml,在此只是簡單的滑塊顯示,沒有進行selector處理

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="oval">
    <solid android:color="#2F9BFF"/>
    <size android:height="20dp"
          android:width="20dp"/>
</shape>

4、至此,主要程式碼完結,最終實現的效果如圖:
自定義seekbar