快速匹配相对应图片

2018-08-16  本文已影响75人  糖葫芦_倩倩

使用level-list

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

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

<?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>
android:src="@drawable/icon_level"
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)
}
.....
上一篇 下一篇

猜你喜欢

热点阅读