在 Touch 上查看反馈

View feedback onTouch

我希望我的观点能够提供触摸反馈,所以我做到了

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

但是,当我触摸我的观点时,我没有看到任何反馈。

对于我的具体情况,我有一个带有项目的 RecyclerView,我希望每个项目的视图都能提供反馈。因此,在项目的 .xml 中,我将背景设置为 android:background="?attr/selectableItemBackground"。还有更多吗?

视图必须是可点击的,所以添加 android:clickable="true"。这是在您设置 onClickListener 时自动添加的。

如果这没有帮助,最好分享您的 .xml 资源文件。这取决于必须在其中指定哪种状态。 http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html

根据评论进行编辑:

Api <= 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>

这就是我正在使用的。通常我将这些资源文件设置为后台资源。当然,这也可以用代码来完成。