【问题标题】:Changing color of Ripple Effect改变波纹效果的颜色
【发布时间】:2016-03-29 16:02:37
【问题描述】:

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

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

【问题讨论】:

    标签: android xml layout ripple


    【解决方案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)

    您可以将此库用于较低的 api:

    https://github.com/traex/RippleEffect

    【讨论】:

    • 是的,它适用于 api 21+,您可以将其放入 drawable-v21 @AhmetKazaman
    • 除了 21 之外的所有其他 api 爱好者怎么办?我的意思是我需要一个适合所有人的解决方案
    • 为此您可以使用我在编辑的答案@AhmetKazaman 中提到的那个库
    • 它不会产生束缚涟漪
    【解决方案2】:

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

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

    干杯。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        【解决方案4】:

        当使用Theme.MaterialComponents.* 主题时,波纹颜色可以定义为 添加以下行,即 Ouline Button 样式。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-01-19
          • 2017-06-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-04-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多