Jav*_*oba 48 android colors design-guidelines ripple material-design
我已阅读材料设计指南,但如果它不是黑色(带alpha),我不知道Ripple的颜色应该是什么.
例如,我有一个colorPrimary = blue的应用程序,colorAccent = red.其实我使用的是colorAccent(带alpha),如果我想要一种不同于黑色的颜色,我应该使用colorPrimary(带alpha)?
我检查了谷歌的所有应用程序,但他们从不使用颜色的涟漪.
像我现在的图像:
ala*_*anv 57
使用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>
Run Code Online (Sandbox Code Playgroud)
这不适用于无限的波纹.或者,由于您知道自己的强调色,因此您可以定义26%的alpha版本或使用颜色状态列表.这些中的任何一个都能很好地适应无限的波纹.
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/accent_26" />
Run Code Online (Sandbox Code Playgroud)
RES /值/ colors.xml:
<resources>
...
<color name="accent">#ff33b5e5</color>
<color name="accent_alpha26">#4233b5e5</color>
</resources>
Run Code Online (Sandbox Code Playgroud)
RES /颜色/ accent_alpha26.xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/accent"
android:alpha="0.26" />
</selector>
Run Code Online (Sandbox Code Playgroud)
i.s*_*rin 42
这是你在找什么:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
...
<item name="colorControlHighlight">@color/ripple_material_dark</item>
...
</style>
Run Code Online (Sandbox Code Playgroud)
ian*_*ake 29
该Widget.Material.Button风格采用btn_default_material.xml作为它的背景:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="@drawable/btn_default_mtrl_shape" />
</ripple>
Run Code Online (Sandbox Code Playgroud)
注意,波纹颜色是?attr/colorControlHighlight
其默认为#40ffffff或#40000000(对于深色和浅色的主题,分别)作为中提到触感导向.
正如您所注意到的,涟漪用于触摸反馈的微妙指示,因此它们不使用colorPrimary
或colorAccent
默认使用.这与Android 4.4(Kitkat)中所做的更改一致,默认情况下默认选择器颜色为中性.
Jav*_*oba 13
这是Roman Nurik在twitter上给我回答这个问题的答复:
Roman Nurik
@romannurik@dahnark @romainguy它因情况而异,但很少你想使用强调色.我会说中性或初级
作为参考,这些是AppCompat中定义的颜色。
<color name="ripple_material_dark">#33ffffff</color>
<color name="ripple_material_light">#1f000000</color>`
Run Code Online (Sandbox Code Playgroud)