drawableのsetLevelとはなんぞや?
setLevel() で drawable に level を設定すると、level list 内を上から走査していって、
設定値より大きい or 等しい android:maxLevel が定義されたリソースを読み込む
level Listとは
res/drawable に置くXMLファイルで
そのファイルの中身は
<?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/drawable_resource" android:maxLevel="integer" android:minLevel="integer" /> </level-list>
という書式。
/res/drawable/test.xml
というファイルを作成し、中に
<?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/test1" android:maxLevel="1" android:minLevel="1" /> <item android:drawable="@drawable/test2" android:maxLevel="2" android:minLevel="2" /> </level-list>
という定義をした場合、setLevel(1)とすれば、test1を参照し、setLevel(2)とすれば、test2を参照する事が出来る