查看反馈onTouch

时间:2015-10-20 20:24:37

标签: android android-layout touch ripple

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

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

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

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

1 个答案:

答案 0 :(得分:0)

查看必须是可点击的,所以添加android:clickable =&#34; true&#34;。设置onClickListener时会自动添加。

如果这没有帮助,那么分享您的.xml资源文件会很不错。这取决于其中指定的州。 http://developer.android.com/reference/android/graphics/drawable/StateListDrawable.html

根据评论进行编辑:

Api&lt; = 19:

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

</selector>

Api&gt; 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&gt; 19(没有视界限制)

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

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