我有一个 ListView,每一行都使用自定义背景颜色。我想确保在用户触摸一行时显示默认突出显示,所以我定义了一个带有选择器的可绘制对象,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:attr/colorControlHighlight">
<item>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/clear" android:state_selected="true"/>
<item android:drawable="@color/clear" android:state_focused="true" android:state_pressed="true"/>
<item android:drawable="@color/clear" android:state_pressed="true"/>
<item android:drawable="@color/white"/>
</selector>
</item>
</ripple>
乍一看,它似乎有效。但是,如果我滚动到以前不在屏幕上的行,当我第一次点击该行时,我不会得到涟漪。但是,如果我再次点击它,我确实看到了涟漪。如果我将行从屏幕上滚动出来,然后再重新打开,同样的事情会不断发生。
有任何想法吗??
谢谢!!