【发布时间】:2020-04-20 12:36:44
【问题描述】:
我有一个问题,我的应用中有两个主题。深色主题和浅色主题
问题是如果我将应用主题设置为与系统主题不同,则应用主题无法正确加载。
Light 主题继承自:
<style name="Theme.Light" parent="Theme.MaterialComponents.Light.NoActionBar">
黑暗主题继承自:
<style name="Theme.Dark" parent="Theme.MaterialComponents.NoActionBar">
例如如果系统主题为浅色且应用程序主题使用继承自的深色主题 'Theme.MaterialComponents.NoActionBar' 那么主题将无法正确呈现,反之亦然。
我正在使用 values-night 目录,其中包含深色主题中使用的所有颜色。
【问题讨论】:
-
如果您使用 values-night,那么您可能应该有一个主题,其父项为“Theme.MaterialComponents.DayNight”。看这篇文章:medium.com/androiddevelopers/…
-
我试过了,但它导致了选择正确背景颜色的问题。如果当前设置的主题是暗的,我通过强制应用进入夜间模式来解决问题。
-
在白天的情况下,问题可能是样式中的颜色声明。
标签: android material-design android-theme android-dark-theme