换种方法展示不同图片
换种方法显示不同图片
有时候,我们为了在一个image view中显示不同的图片,往往会使用:
if (条件1) {
image.setBackground(R.id.xxx1);
} else if (条件2) {
image.setBackground(R.id.xxx2);
} ...
最近发现可以用另一个简便的方法实现相同的功能
首先,在res/drawable下建立一个xml文件,内容如下
<?xml version="1.0" encoding="utf-8"?> <level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:maxLevel="0" android:drawable="@android:color/transparent" /> <item android:maxLevel="1" android:drawable="@drawable/image_1" /> <item android:maxLevel="2" android:drawable="@drawable/image_2" /> <item android:maxLevel="3" android:drawable="@drawable/image_3" /> </level-list>
然后在layout中把image view的src设置成已创建好的xml文件
程序中变换图片时,只需要使用
imageview.getDrawable().setLevel(0) - 透明
imageview.getDrawable().setLevel(1) - 显示image_1
...
以此类推,好像显示剩余电量就是用这个方法来显示不同图片的