我有一个TextView,其附带的图像我想切换每次点击/按下的动作。因此,如果它是img_1且用户点击,则应切换为img_2;如果用户再次点击文本视图,则应转为img_1;等等。我不知道如何将以下内容应用于我的目的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ico_red" android:state_pressed="true"/>
<item android:drawable="@drawable/ico_blue"/>
</selector>
现在它只会在按下时非常短暂地变为红色,然后立即返回蓝色,这样蓝色就是通常的颜色。
答案 0 :(得分:3)
简单的方法是使用选择器响应state_selected
并在onView侦听器中为textView手动切换选择状态:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/ico_red" android:state_selected="true"/>
<item android:drawable="@drawable/ico_blue"/>
</selector>
在你的java代码中:
yourTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(!v.isSelected());
}
});