In Android 5.0, my ListView produces a ripple effect when clicking a list item. Is there a way to disable this effect? Looking at the docs, I don't see any way (https://developer.android.com/reference/android/widget/ListView.html)
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
You can remove or replace the list selector using the android:listSelector
property. The default list selector under Material is ?android:attr/selectableItemBackground
which is a bounded ripple.
<ListView
...
android:listSelector="@drawable/my_list_selector" />
To completely disable selector, you can use a @null
or @android:color/transparent
(works better for some Android versions) value as following:
<ListView
...
android:listSelector="@android:color/transparent" />
回答2:
Try:
<ListView
...
android:listSelector="@android:color/transparent" />
This will disable any visual effect of touching. Not very good for the user, but might be useful in special circumstances.
回答3:
Yes, you can create custom list items with their layout, in which you have to change the android:background
with a drawable without ripple.