XML定義Drawable的一種,以<level-list>作為根元素煮仇,其間可包含任意多個<item>節(jié)點,每一個<item>節(jié)點包含一個drawable對象和maxLevel與minLevel值
<?xml version="1.0" encoding="utf-8"?>
<level-list
xmlns:android="[http://schemas.android.com/apk/res/android](http://schemas.android.com/apk/res/android)" >
<item
android:drawable="@drawable/drawable_resource"
android:maxLevel="integer"
android:minLevel="integer" />
</level-list>
注意:item元素級別里面不能出現(xiàn)負(fù)數(shù)谎仲,只能是正整數(shù)浙垫,并且要么是升序,要么是倒序强重,順序亂了不起作用
向LevelListDrawable對象提供一個Level值后绞呈,LevelListDrawable對象就會從前往后查看每一個<item>,當(dāng)某個<item>節(jié)點的Level范圍滿足提供的那個Level值后间景,就會返回該<item>結(jié)點里指定的drawable佃声。并且不會繼續(xù)往后找。所以定義這個LevelListDrawable時要注意各個<item>的順序
使用場景:
可以用來做進(jìn)度條倘要、音量調(diào)節(jié)等效果圾亏。
比如:
當(dāng)我們將一個LevelListDrawable作為一個View的background后,可以通過View的getBackground()方法獲取這個Drawable對象封拧,然后調(diào)用這個Drawable對象的setLevel()方法志鹃,提供不同的Level值,就可以改變View的背景泽西。
ImageView組件還提供了setImageLevel()方法來快捷設(shè)置android:src指定的LevelListDrawable的Level值(android:backgroudn指定的背景還是要通過View的形式來更改)