天天看點

執行個體:改變拖動條SeekBar的外觀

實作原理

借助LayerDrawable資源實作

編寫drawable目錄下的xml檔案時注意:id指定為

@android:id/background

才能将對應的圖檔設定為seekbar的背景圖示;id指定未

@android:id/progress

才能将對應的圖檔設定為seekbar的已完成部分的圖示

實作效果

執行個體:改變拖動條SeekBar的外觀

源碼:

/res/drawable目錄下:special_seek_bar.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/ic_background"/>
<!--  已完成部分的圖像  -->
    <item android:id="@android:id/progress"
        android:drawable="@drawable/ic_progress"/>
</layer-list>
           

布局檔案:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".SpecialSeekBarActivity">
    <SeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progressDrawable="@drawable/special_seek_bar"
        app:layout_constraintTop_toTopOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>