2015-10-20 107 views
1

我希望我的意見,能夠給觸摸反饋,所以我做查看反饋onTouch

<View 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="?attr/selectableItemBackground" /> 

不過,我看不出有任何反饋,當我摸我的看法。

對於我的具體情況,我有一個帶有物品的RecyclerView,並且我希望每個物品的視圖都能提供反饋。所以在該項目的.xml中,我將背景放置爲android:background="?attr/selectableItemBackground"。還有更多嗎?

+0

view.setColorFilter(0xFFFF0000,PorterDuff.Mode.MULTIPLY); – dex

+0

@dex謝謝,我明白我做錯了什麼。你知道如何將灰暗的灰色改爲我選擇的東西(在xml中)。 – learner

+0

您需要編寫自己的選擇器,然後將其設置爲背景。有些東西是這樣的<?xml version =「1.0」encoding =「utf-8」?> <選擇器xmlns:android =「http://schemas.android.com/apk/res/android」> dex

回答

0

視圖必須是可點擊的,所以添加android:clickable =「true」。當您設置onClickListener時,會自動添加。

如果這樣做無濟於事,那就分享你的.xml資源文件吧。這取決於它需要指定哪種狀態。 http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html

編輯基於評論:

阿比< = 19:

<selector xmlns:a="http://schemas.android.com/apk/res/android"> 
<item 
    a:drawable="@color/gray230" 
    a:state_pressed="true" /> 

</selector> 

API> 19(觸摸反饋限於查看邊界)

<ripple xmlns:a="http://schemas.android.com/apk/res/android" 
    a:color="@color/gray230"> 

<item 
    a:id="@android:id/mask" 
    a:drawable="@android:color/black" /> 

<item> 

    <selector> 

     <item 
      a:drawable="@color/gray230" 
      a:state_selected="true"/> 

    </selector> 

</item> 

</ripple> 

API> 19(無查看邊界限制)

<ripple xmlns:a="http://schemas.android.com/apk/res/android" 
a:color="@color/gray230"> 
</ripple> 

這就是我正在使用的。通常我將這些資源文件設置爲背景資源。當然,這也可以用代碼來完成。

+0

謝謝。我在卡上設置背景。謝謝。那麼,如何將灰色變成更好的東西,你知道嗎? – learner

+0

我寫過一次。 API <= 19和之後不同。現在在我所在的地方深夜,但明天我會檢查它並寫下整個.xml文件 –

+0

查看更新後的.xml詳細信息 –