快速匹配相对应图片

使用level-list

在看书的时候,发现一个快速匹配图片的办法,就是使用这个 level-list, 根据定义的级别在显示相对应的图片

在使用 level-list 的时候,maxLevel 最小值是0,最大值是10000,**特别强调::**在xml 中定义的时候需要按照maxLevel 从小往大进行排列,否则会匹配失效 使用步骤

    1. drawable 文件下新建一个 icon_level.xml 文件
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/status_off" android:maxLevel="1"/>
    <item android:drawable="@drawable/status_open" android:maxLevel="2"/>
</level-list>
复制代码
    1. 然后layout 中像使用普通图片一样引入
android:src="@drawable/icon_level"
复制代码
  • 3.使用
imageview.getDrawable().setLevel(1);
imageview.getDrawable().setLevel(2);
复制代码

使用根据图片名称快速匹配图片

我们知道根据图片的名称可以快速匹配

int resId = getResources().getIdentifier(imageName, "drawable", mContext.getPackageName());
复制代码

imageName 资源名称,可动态设置为服务器返回的数字拼接,假如服务器返回1,2,3这样的,本地资源定义为:home_1,home_2.....

int resId = getResources().getIdentifier("home_"+type, "drawable", mContext.getPackageName());
复制代码

这样我们就避免这样的代码:

if(imageName.equal("1")){
  imageView.setImageResource(R.drawable.home_1)
}else if(imageName.equal("2")){
imageView.setImageResource(R.drawable.home_2)
}
.....
复制代码
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值