我创建了一个自定义列表项,我将其放入ListView中。这些项目是可点击的(单个和多个选项),一旦点击我希望它们改变颜色而不会失去漂亮的材质涟漪效果。
这是仅仅改变颜色一次togglet的静态方式:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="?attr/colorAccent" />
</ripple>
我还创建了自己的波纹可绘制,这样我就可以在不失去涟漪效果的情况下改变颜色 - 但是这样项目的颜色保持不变/不会改变。
Test.java
简而言之:我希望我的列表项在单击时从背景颜色x更改为y,从y返回到x,但仍然会对它们产生连锁效果。
非常感谢帮助,谢谢!
答案 0 :(得分:0)
我知道您已经找到了解决方案,但这就是昨天才对我有用的东西:
您不需要定义自己的波纹可绘制对象。只需在您的父级ListView上执行此操作即可:
<ListView
...
android:drawSelectorOnTop="true"/>
这将为您处理波纹效果,因此您只需要在单击项目时注意更新自定义列表项目的颜色(您已经在做)。
答案 1 :(得分:0)
尝试使用tf
属性。
tf