2016-07-09 165 views
-2

我使用這種方法,但它不起作用。 在繪製我創建selector.xml更改背景圖片textView按下時

<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"/> 
+0

請問您能否提供「不能工作」的解釋?直到那時這個問題不適合SO,因爲它沒有MCVE。 –

回答

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.

0

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

這你可繪製

<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" /> 

而且 這你可繪製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

<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"/> 
0

默認情況下,TextView不可點擊。所以首先啓用它們如下。

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