禁用ListView上的涟漪效果

16
3个回答

44

您可以使用android:listSelector属性来删除或替换列表选择器。在材料设计下,默认的列表选择器是?android:attr/selectableItemBackground,它是一个有界的涟漪效果。

<ListView
    ...
    android:listSelector="@drawable/my_list_selector" />

要完全禁用选择器,您可以使用以下代码中的@null@android:color/transparent(对某些Android版本更有效):

@null@android:color/transparent值可完全禁用选择器。

<ListView
    ...
    android:listSelector="@android:color/transparent" />

1
这个代码可以去除水波纹效果,但是会变成黄色背景。你可以使用这个代码来代替:android:listSelector="@android:color/transparent" - sudoExclaimationExclaimation

18

尝试:

<ListView
...
    android:listSelector="@android:color/transparent" />

这将禁用触摸的任何视觉效果。对于用户来说不是很好,但在特殊情况下可能会有用。


0

是的,您可以创建具有自定义布局的列表项,在其中必须使用没有涟漪效果的可绘制对象更改android:background


1
那只涵盖了大多数情况下有效的水波效果,除非您需要为列表项使用半透明背景。 - oli.G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接