当前位置: 首页 > 知识库问答 >
问题:

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

濮俭
2023-03-14

我有阅读材料设计指南,但我不知道如果波纹不是黑色(带有alpha),它应该是什么颜色。

例如,我有一个应用程序,colorPrimary=blue,colorAccent=red。事实上,我使用的是colorAccent(带有alpha),如果我想要与ripple不同的黑色,我应该使用colorPrimary(带有alpha)?

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

像我现在这样的形象:

共有3个答案

胡景澄
2023-03-14

Widget. Materials. 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(分别用于深色和浅色主题),如触摸反馈指南中所述。

正如您所注意到的,涟漪被用于触摸反馈的细微指示,因此它们在默认情况下不使用colorPrimarycolorpeant。这与Android4.4(Kitkat)中所做的更改是一致的,后者使默认选择器的颜色默认为中性。

公瑞
2023-03-14

以下是您想要的:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
   ...
   <item name="colorControlHighlight">@color/ripple_material_dark</item>
   ...
</style>
丰誉
2023-03-14

对彩色波纹使用26%alpha。

Android L不支持颜色状态列表和

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

分辨率/值/颜色。xml:

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

分辨率/颜色/重音字母26。xml:

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

 类似资料:
  • 我找不到任何关于编辑文本颜色的提示。这里有一些关于尺寸的信息,但没有提到颜色。 我应该像这里提到的那样把它当作分隔符吗?:

  • 这是我的材料风格 如果我从XML创建EditText(或其他组件),EditText的颜色将使用色彩控制正常 但是当我动态创建EditText时,它不会使用这些颜色。(变成黑色) 如何设置组件的样式或动态更改颜色? [更新] 自定义EditText类也可以解决此问题。

  • 我的目标是找到一个Android库,它允许我基于数组在日历视图上标记各种日期。日期可能是连续的,也可能不是连续的。我的理想方案是更改每个日期的背景色。重要的复杂性是,我直到运行时才知道这个颜色,因为它来自服务器查询。 我一整天都在研究这个,我最大的希望似乎是(github)。然而,我发现他们的代码有些难以理解,这是我的责任,但我完全卡住了。 我在XML布局中添加了如下日历: 然后在我的活动中,我有

  • 我实际上正在尝试在我的应用程序中使用彩色图标。我已经从这里下载了官方材料设计图标包。现在,此包中的所有图标都是白色,灰色或黑色。但我希望图标具有不同的颜色。类似于此图像中左侧的图标。电话和邮件图标为蓝色。我怎样才能做到这一点?

  • 嗨,我是一个新的材料设计,我试图使卡片部分响应媒体查询和Flex。由于某种原因,当卡片切换到列时,只显示图像的一部分,而卡片的其余部分(如文本)不再显示。我发现让组件响应非常混乱。我是不是漏掉了什么?

  • 简单地说,我不想使用第三方库,我只想知道是否可以使用android支持库以及如何做到这一点。