如何使用新的 DayNight 主题?
How to use the new DayNight Theme?
开始着手 Google 支持库的新更新,我想将 Theme.AppCompat.DayNight
实施到我的应用程序中。
我遇到的问题是似乎没有人解释如何定制它。因此,如果我想在白天使用不同的 colorAccent
,在晚上使用不同的 colorAccent
,我该怎么做?您是否应该指定不同的深色和浅色主题作为基础?提前致谢!
您可以使用 night resource qualifier folder.
通过这种方式,您可以为 dark(夜间)和 light 主题(白天)定义颜色和其他资源。
预选赛:
night
: 夜间
notnight
: 白天
为了使用 Material 组件主题 支持深色主题,请使用:
<style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight">
<!-- ... -->
</style>
使用 AppCompat 主题:
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<item name="colorPrimary">@color/primary</item>
</style>
然后在您的应用主题中定义引用颜色资源,如果需要,覆盖 values-night
目录中的值:
示例:res\values\colors.xml
:
<color name="colorPrimary">.....</color>
在res\values-night\colors.xml
文件夹中定义相同的颜色:
<color name="colorPrimary">.....</color>
开始着手 Google 支持库的新更新,我想将 Theme.AppCompat.DayNight
实施到我的应用程序中。
我遇到的问题是似乎没有人解释如何定制它。因此,如果我想在白天使用不同的 colorAccent
,在晚上使用不同的 colorAccent
,我该怎么做?您是否应该指定不同的深色和浅色主题作为基础?提前致谢!
您可以使用 night resource qualifier folder.
通过这种方式,您可以为 dark(夜间)和 light 主题(白天)定义颜色和其他资源。
预选赛:
night
: 夜间
notnight
: 白天
为了使用 Material 组件主题 支持深色主题,请使用:
<style name="Theme.MyApp" parent="Theme.MaterialComponents.DayNight">
<!-- ... -->
</style>
使用 AppCompat 主题:
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<item name="colorPrimary">@color/primary</item>
</style>
然后在您的应用主题中定义引用颜色资源,如果需要,覆盖 values-night
目录中的值:
示例:res\values\colors.xml
:
<color name="colorPrimary">.....</color>
在res\values-night\colors.xml
文件夹中定义相同的颜色:
<color name="colorPrimary">.....</color>