每次单击切换Textview图像

时间:2013-11-11 23:03:51

标签: android android-layout textview

我有一个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>

现在它只会在按下时非常短暂地变为红色,然后立即返回蓝色,这样蓝色就是通常的颜色。

1 个答案:

答案 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());
        }
    });