4

我的 RecyclerView 元素需要一个简单的涟漪效果,这些元素具有背景颜色集。由于他们已经设置了背景颜色(蓝色),因此我无法将背景设置为 drawable/ripple.xml:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/color_view_pressed"> <!-- ripple color -->

<item android:drawable="@android:color/white"/>
<!-- normal color -->

所以我将我的ripple.xml 更改为:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/color_view_pressed"> <!-- ripple color -->

<item android:drawable="@android:color/blue"/>
<!-- normal color -->

它仍然不起作用。:( 编辑:显然,波纹颜色隐藏在背景颜色后面,所以几乎看不到。但是可以在背景中看到它的一点点(如果我将 color_view_pressed 设置为深红色)。是有什么办法可以实现吗?我已经尝试了所有可能的解决方案。不知何故,它与 ListView 配合得很好。我不明白怎么做。

4

2 回答 2

5

在用于项目的布局的根ViewGroup中添加前景属性而不是背景(您已经设置):

android:foreground="?android:attr/selectableItemBackground"

并设置这些属性:

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

这对我有用

于 2016-02-11T15:42:36.387 回答
1

你可以有 2 ViewGroups 有一个背景 - 波纹的顶部,它的孩子有蓝色背景的整个布局。

于 2016-02-11T15:15:08.910 回答