我需要在我的RecyclerView元素中一个简单的涟漪效果,这些元素有一个背景颜色集。由于他们已经设置了背景颜色(蓝色),因此我无法将背景设置为可绘制对象/波纹.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 -->
所以我把我的涟漪.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完美配合。我不明白怎么回事。
在用于项目的布局的根ViewGroup
中添加前景属性而不是背景(您已经设置):
android:foreground="?android:attr/selectableItemBackground"
并设置以下属性:
android:clickable="true"
android:focusable="true"
这对我有用
您可以有 2 个具有背景的ViewGroup
- 顶部的波纹,并且具有蓝色背景的整个布局是孩子的。