使用选择器时默认波纹效果消失

Default Ripple Effect disapears when using Selector

我有一个 ListView,它在默认情况下具有正常的 android 波纹 effect.When 我触摸了一个正在显示动画的元素。为此,我没有在 xml 代码中添加任何内容。

但现在我想为父布局使用 selector,因为我想在上下文操作栏中 select 时突出显示它。令人惊讶的是,涟漪效应消失了......

我的 XML 选择器就这么简单:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >

    <item android:state_activated="true" android:drawable="@color/listview_highlight"/>
    <item android:drawable="@color/listview_normal" />

</selector>

我发现你可以使用

"< ripple >< /ripple > "

但这需要 Api 分钟 21。

我想像过去一样将动画设置为默认值。

我该怎么做?

您需要创建两个选择器:

将您当前的选择器保存在 values 文件夹中,并将文件复制到 values-v21
然后可以在values-v21.

中添加<ripple></ripple>

最后我通过尝试/错误找到了解决方案。 我只需要添加

android:drawSelectorOnTop="true"

到我的 ListView 和瞧!
现在一切正常,希望这个 post 可以帮助别人!