改变波纹效果的颜色

时间:2016-03-29 16:02:38

标签: android xml layout ripple

我有一个背景为黑色的ListView。现在我的问题是默认的涟漪效应也是黑色的,用户无法真正看到它。

如何在不依赖API级别的情况下更改“波纹效果”的颜色? (我想要达到白色)。

4 个答案:

答案 0 :(得分:1)

您可以将此设置为您的观看背景:

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="?android:attr/colorAccent">
<item android:id="@android:id/mask">
    <color android:color="#42ffffff" />
</item>

有关详细信息,请参阅stackoverflow上的此问题:

What should be the color of the Ripple, colorPrimary or colorAccent? (Material Design)

你可以使用这个库来降低apis:

https://github.com/traex/RippleEffect

答案 1 :(得分:0)

只需在styles.xml中添加具有所需颜色的'item:colorControlHighlight'

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorControlHighlight">@color/white</item>
</style>

答案 2 :(得分:0)

一种简单的方法是在colors.xml文件中定义这两种颜色

<color name="ripple_material_dark">#33ffffff</color>
<color name="ripple_material_light">#1f000000</color>

欢呼。

答案 3 :(得分:0)

使用Theme.MaterialComponents.*主题时,波纹颜色可以通过 将以下行添加到Ouline按钮样式。

<item name="rippleColor">@color/outline_button_ripple_color</item>