Android 使用LayerDrawable自定製SeekBar的外觀

前言

LayerDrawable包含了一個Drawable數組,系統會按照Drawable對象數組的順序來繪製它們,索引最大的對象將會被繪製在最上面。
定義LayerDrawable對象的XML文件的根元素是:<layer-list.../>,該元素可以包含多個<item../>元素,該元素可以指定如下屬性:
* android:drawable:指定作爲LayerDrawable元素之一的Drawable對象。
* android:id:爲該Drawable對象指定一個標識。
* android:buttomltoplleftlbutton:它們用於指定一個長度值,用於指定將該Drawable對象繪製到目標組件的指定位置。

實例:定製SeekBar拖動條的外觀

  • 1,在res–>drawable目錄下右鍵new一個Drawable Resource File,根元素選擇layer-list:
    這裏寫圖片描述

  • 2,定義兩個item,其中第一個爲SeekBar拖動前的默認背景,後一個爲拖動後的背景:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@android:id/background"
        android:drawable="@mipmap/seekbar_default" />
    <item
        android:id="@android:id/progress"
        android:drawable="@mipmap/seekbar_selected" />
</layer-list>
  • 3,定義progerssDrawable爲我們剛剛自己定義的Drawable:
<SeekBar
    android:progressDrawable="@drawable/my_seekbar"
    android:layout_width="match_parent"
    android:layout_height="40dp" />

運行結果:

這裏寫圖片描述

發佈了55 篇原創文章 · 獲贊 117 · 訪問量 30萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章