绘制资源类型 (Drawable)类中有个setLevel()的方法他的作用是选择某个级别中可绘制的资源有时候,我们为了在一个image view中显示不同的图片,往往会使用:
if (条件1){
image.setBackground(R.id.xxx1);
}else if (条件2)
{
image.setBackground(R.id.xxx2);
} ...
可以使用setLevel()更好的实现在xml中:
123456789<?xmlversion="1.0"encoding="utf-8"?><level-listxmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:drawable="@drawable/status_off"android:maxLevel="0"/><itemandroid:drawable="@drawable/status_on"android:maxLevel="1"/></level-list>调用setLevel显示不同的图片
在java中:
123456789101112131415161718192021222324252627leftPoint.getDrawable().setLevel(1);viewPager.setOnPageChangeListener(newViewPager.SimpleOnPageChangeListener() {@OverridepublicvoidonPageSelected(intposition) {super.onPageSelected(position);switch(position) {case0:leftPoint.getDrawable().setLevel(1);centerPoint.getDrawable().setLevel(0);rightPoint.getDrawable().setLevel(0);break;case1:leftPoint.getDrawable().setLevel(0);centerPoint.getDrawable().setLevel(1);rightPoint.getDrawable().setLevel(0);break;case2:leftPoint.getDrawable().setLevel(0);centerPoint.getDrawable().setLevel(0);rightPoint.getDrawable().setLevel(1);break;}}});addView(view);}
android drawable
最新推荐文章于 2024-09-11 00:30:47 发布
本文介绍了一种在Android中利用setLevel方法实现不同状态图片切换的技术。通过在XML定义level-list资源并结合Java代码调用setLevel方法,可以高效地在ImageView中根据不同条件展示不同的图片资源。

1782

被折叠的 条评论
为什么被折叠?



