场景:点击按钮,根据按钮内置的状态弹出不同的图片。
对于这样一个场景,我们习惯去使用JAVA代码动态生成图片:
appleView.setImageDrawable(getResources().getDrawable(R.drawable.apple));
但是,对于复杂的切换需要大量的if语句支持,看去来结构有点繁琐。
安卓的UI为我们提供了level-list来简化选择。可以在XML文件中预先定义资源,然后再后台代码里进行调用:
<level-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/apple" android:maxLevel="0"/> <item android:drawable="@drawable/pidgin" android:maxLevel="1"/> <item android:drawable="@drawable/apple_smile" android:maxLevel="2"/> </level-list>
调用代码为:
1 appleView.getDrawable().setLevel(0);