具有Ripple效果的Android ListView

时间:2015-01-05 20:28:04

标签: android android-listview ripple rippledrawable

我有一个ListView,每行使用自定义背景颜色。我想确保在用户触摸某行时显示默认突出显示,因此我已经使用选择器定义了一个drawable,如下所示:

<?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>
乍一看,它似乎有效。 但是,如果我滚动到之前没有在屏幕上显示的行,我第一次点击该行时,我就不会发出涟漪。但是如果我点击它再一次,我确实看到了涟漪。如果我将这一行从屏幕上滚动然后重新开启,那么同样的事情就会发生。

任何想法??

谢谢!

0 个答案:

没有答案