0

我有一个 TextView,我想在每次单击/按下操作时切换其随附的图像。所以如果是img_1,用户点击,应该切换到img_2;如果用户再次点击textview,那么它应该转向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>

现在它只会在按下时非常短暂地变为红色,然后立即恢复为蓝色,因此蓝色是通常的颜色。

4

1 回答 1

3

简单的方法是使用选择器响应state_selected并手动切换您的 textView 的 onClick 侦听器中的选择状态:

<?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());
        }
    });
于 2013-11-12T14:00:23.453 回答