有時候,我們為了在一個ImageView中顯示不同的圖檔,往往會使用:
if (條件1)
{
image.setBackground(R.id.xxx1);
}
else if (條件2)
{
image.setBackground(R.id.xxx2);
} ...
可以用另一個簡便的方法實作相同的功能
首先,在res/drawable下建立一個xml檔案,内容如下
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0" android:drawable="@drawable/battery_0" />
<item android:maxLevel="1" android:drawable="@drawable/battery_1" />
<item android:maxLevel="2" android:drawable="@drawable/battery_2" />
<item android:maxLevel="3" android:drawable="@drawable/battery_3" />
<item android:maxLevel="4" android:drawable="@drawable/battery_4" />
</level-list>
然後在layout中把image view的src設定成已建立好的xml檔案
程式中變換圖檔時,隻需要使用
imageview.getDrawable().setImageLevel(1);
...
Android會根據level的值自動選擇對應的圖檔。手機顯示剩餘電量就是用這個方法來顯示不同圖檔的。