同一个 ImageView 显示不同的图片 ---> level-list

本文介绍如何通过创建XML文件来简化Android中ImageView显示不同图片的过程,避免使用复杂的if-else逻辑,实现图片自动选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候,我们为了在一个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的值自动选择对应的图片。手机显示剩余电量就是用这个方法来显示不同图片的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值