我需要一个ListView项目中的自定义选择器,可以单击三次。 首先单击显示图像1,第二次单击显示图像2,第三次单击显示图像3,第四次单击返回以显示图像1,依此类推。
实施此方法的最佳方法是什么?
答案 0 :(得分:1)
这可以通过使用level-list drawable来完成。
使用您的图片在/res/drawable
文件夹中创建一个可绘制的关卡列表。
<level-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:maxLevel="0" android:drawable="@drawable/image_1" /> <item android:maxLevel="1" android:drawable="@drawable/image_2" /> <item android:maxLevel="2" android:drawable="@drawable/image_3" /> </level-list>
<ImageView android:id="@+id/iv_selector" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/level_selector" />
为drawable添加单击侦听器并更新图像级别
public void onCLick(View view) {<br>
LevelListDrawable levelListDrawable = (LevelListDrawable) imageView.getDrawable();<br>
int level = levelListDrawable.getLevel();
level = level + 1;<br>
level = level % 3;<br>
imageView.setImageLevel(level);<br>
}