纹波的颜色应该是什么,colorPrimary或​​colorAccent? (材料devise)

我已阅读材料devise指南,但我不知道如果它不是黑色(与阿尔法)波纹的颜色应该是什么。

例如,我有一个应用程序colorPrimary =蓝色,colorAccent =红色。 其实我使用colorAccent(与阿尔法),我应该使用colorPrimary(与阿尔法)如果我想要一个不同的黑色对波纹颜色?

我检查了所有的谷歌应用程序,但他们从来没有使用颜色的涟漪。

像我现在的形象:

波纹

Solutions Collecting From Web of "纹波的颜色应该是什么,colorPrimary或​​colorAccent? (材料devise)"

使用26%阿尔法彩色涟漪。

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 /值/ colors.xml:

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

RES /颜色/ accent_alpha26.xml:

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/accent" android:alpha="0.26" /> </selector> 

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> 

请注意,纹波颜色是?attr/colorControlHighlight , 默认情况下是触摸反馈指南中提到的#40ffffff或#40000000 (分别适用于暗色和淡色主题)。

正如您已经注意到的,涟漪是使用触摸反馈的微妙指示,因此为什么他们默认不使用colorPrimarycolorAccent 。 这与Android 4.4(Kitkat)所做的更改一致,默认情况下默认select器颜色为中性。

这里是你在找什么:

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

这是Roman Roman Nurik在twitter上给我的这个问题的答复:

罗马Nurik
@romannurik

@dahnark @romainguy它因情况而异,但很less要使用重音颜色。 我会说一般中立或主要

波纹的颜色