在 ListView 上禁用波纹
Posted
技术标签:
【中文标题】在 ListView 上禁用波纹【英文标题】:Disable Ripple on ListView 【发布时间】:2015-01-28 04:33:48 【问题描述】:在 android 5.0 中,我的 ListView 在单击列表项时会产生涟漪效果。有没有办法禁用这个效果?查看文档,我没有看到任何方法 (https://developer.android.com/reference/android/widget/ListView.html)
【问题讨论】:
【参考方案1】:您可以使用android:listSelector
属性删除或替换列表选择器。 Material 下的默认列表选择器是?android:attr/selectableItemBackground
,这是一个有界波纹。
<ListView
...
android:listSelector="@drawable/my_list_selector" />
要完全禁用选择器,您可以使用@null
或@android:color/transparent
(对某些Android 版本效果更好)值如下:
<ListView
...
android:listSelector="@android:color/transparent" />
【讨论】:
这消除了涟漪,而是给了我一个黄色背景。我改用这个:android:listSelector="@android:color/transparent"
【参考方案2】:
试试:
<ListView
...
android:listSelector="@android:color/transparent" />
这将禁用触摸的任何视觉效果。对用户来说不是很好,但在特殊情况下可能有用。
【讨论】:
【参考方案3】:是的,您可以使用其布局创建自定义列表项,您必须在其中更改 android:background
并使用不带波纹的可绘制对象。
【讨论】:
这只涵盖了波纹......大部分时间都有效,除非您的列表项需要半透明背景以上是关于在 ListView 上禁用波纹的主要内容,如果未能解决你的问题,请参考以下文章