更改背景图像textView按下时

时间:2016-07-09 16:34:51

标签: android xml android-layout textview

我使用这种方法但是没有用。 在drawable我创建了selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="false"
        android:drawable="@drawable/reponseclicked">
    </item>
    <item
        android:drawable="@drawable/repons">
    </item>
</selector>

这是我的TextView

 <TextView
    android:layout_width="160dp"
    android:layout_height="wrap_content"
    android:id="@+id/imageView8"
    android:text="text"
    android:gravity="center"
    android:layout_above="@+id/imageView5"
    android:background="@drawable/selector"/>

3 个答案:

答案 0 :(得分:1)

Chnage android:state_pressed="false"android:state_pressed="true"

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:state_pressed="true"
        android:drawable="@drawable/reponseclicked" />
    <item
        android:drawable="@drawable/repons"/>
</selector>

See this Thread.

答案 1 :(得分:0)

<color name="colorControlHighlight">#B6B6B6</color>

这在您的Drawable中

<item android:state_pressed="true">

    <shape>
        <solid android:color="@color/colorControlHighlight"/>
    </shape>
</item>

<item>
    <shape>
        <solid android:color="@color/colorControlHighlight"/>
    </shape>
</item>

<item android:drawable="@color/colorPrimary" />

另外 你的Drawable v21中的这个会给你带来连锁反应

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/colorControlHighlight">

    <item android:id="@android:id/mask" android:drawable="@android:color/white"/>
    <item android:drawable="@color/colorPrimary" />
</ripple>

您的文字视图

<TextView
    android:layout_width="160dp"
    android:layout_height="wrap_content"
    android:id="@+id/imageView8"
    android:text="text"
    android:gravity="center"
    android:layout_above="@+id/imageView5"
    android:background="@drawable/selector"
    android:clickable="true"/>

答案 2 :(得分:0)

默认情况下,TextView不可点击。所以首先启用它们如下。

android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"