我正在阅读 Material Design Guidelines但如果不是黑色(带 alpha),我不知道波纹的颜色应该是什么。
例如,我有一个 colorPrimary = blue 和 colorAccent = red 的应用。实际上我正在使用 colorAccent(带 alpha),如果我想要与波纹不同的黑色颜色,我应该使用 colorPrimary(带 alpha)?
我检查了谷歌的所有应用,但他们从不使用带颜色的涟漪。
像我现在这样的图像:
最佳答案
对彩色波纹使用 26% 的 alpha。
Android L 不支持颜色状态列表中的主题属性和 <ripple>
元素没有 alpha channel ,但对于有界波纹,您可以执行以下操作:
<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>
关于android - Ripple、colorPrimary 或 colorAccent 的颜色应该是什么? ( Material 设计),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28484369/