我最近使用在 https://material.io/tools/color/中找到的材质调色板生成器来生成调色板。
如您所见,该工具是 Material.io 的官方工具。它生成了几种颜色 - 主要和次要颜色,包括每种颜色的两种变体。这导致我在colors.xml
文件中创建了这样的东西。
<!-- Color palette -->
<!-- ... -->
<!-- Colors by usage -->
<color name="colorPrimary">@color/black</color>
<color name="colorPrimaryDark">@color/blackDark</color>
<color name="colorPrimaryLight">@color/gray</color>
<color name="colorSecondary">@color/red</color>
<color name="colorSecondaryDark">@color/maroon</color>
<color name="colorSecondaryLight">@color/redLight</color>
<color name="colorTextOnPrimary">@color/white</color>
<color name="colorTextOnSecondary">@color/white</color>
但是,如何在主题中应用这些颜色?Android 支持材料 (AppCompat( 主题仅期望/允许三种颜色 - 主要、次要和重音。我应该使用另一个主题来应用这些属性吗?还是我只是在这里做错了什么?
我想避免在这里创建一个全新的主题,并且必须为我可能想要使用的每个组件手动设置颜色。
由于我看到您使用的是浅色和深色,因此我想生成器希望您使用DayNight主题。由于您已经在使用 AppCompat,我想您正在处理支持库,因此您可以轻松地将这些颜色用于如下所示:
<style name=“AppTheme" parent="Theme.AppCompat.DayNight">
<item name="colorPrimary">...</item>
<item name="colorPrimaryDark">...</item>
<item name="colorAccent">...</item>
...
</style>
这只是找到要设置的正确属性的问题。 快速的Google搜索将为您带来许多有用的资源,例如检查其他帖子,该帖子也链接到官方Android开发人员博客。