Ripple 的颜色应该是什么,colorPrimary 或 colorAccent? (材料设计)

2024-01-27

我有读书材料设计指南 http://www.google.com/design/spec/material-design/introduction.html但我不知道如果波纹不是黑色(带有阿尔法),它应该是什么颜色。

例如,我有一个 colorPrimary = 蓝色、colorAccent = 红色的应用程序。实际上我正在使用 colorAccent (带 alpha),如果我想要黑色与波纹不同的颜色,我应该使用 colorPrimary (带 alpha)?

我检查了谷歌的所有应用程序,但他们从不使用带有颜色的波纹。

像我现在这样的图像:


对彩色波纹使用 26% alpha。

Android L 不支持颜色状态列表中的主题属性和<ripple>元素没有 Alpha 通道,但对于有界波纹,您可以执行以下操作:

<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>
</ripple>

这对于无限的涟漪不起作用。或者,由于您知道自己的强调色,因此您可以定义 26% Alpha 版本或使用颜色状态列表。对于无限的涟漪来说,这两种方法都可以很好地工作。

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="@color/accent_26" />

res/values/colors.xml:

<resources>
    ...
    <color name="accent">#ff33b5e5</color>
    <color name="accent_alpha26">#4233b5e5</color>
</resources>

res/color/accent_alpha26.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/accent"
          android:alpha="0.26" />
</selector>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ripple 的颜色应该是什么,colorPrimary 或 colorAccent? (材料设计) 的相关文章

随机推荐