使用level-list
在看书的时候,发现一个快速匹配图片的办法,就是使用这个 level-list, 根据定义的级别在显示相对应的图片
在使用
level-list
的时候,maxLevel
最小值是0,最大值是10000,特别强调::在xml
中定义的时候需要按照maxLevel
从小往大进行排列,否则会匹配失效
使用步骤
- 在
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>
- 然后
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)
}
.....
网友评论