when(id) {
NIGHT - > theme = Theme.NIGHT_MODE
DAY - > theme = Theme.LIGHT_MODE
SYSTEM_DEFAULT - > theme = Theme.SYSTEM_DEFAULT
}
context ? .clearCachedDrawables()
activity ? .recreate()
}
编辑:
js lang-js prettyprint-override">when (themeStatus) {
Theme.LIGHT_MODE ->
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
Theme.NIGHT_MODE ->
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
Theme.SYSTEM_DEFAULT ->
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
}
您不需要在活动中设置主题并重新创建它。如果你设置了正确的应用程序主题,它会自动完成。
要在应用程序中使用黑暗,您应该将白天的主题扩展为应用程序的主题。
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
或
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight">
<color name="myColor">#000000</color>
<color name="myColor">#FFFFFF</color>
编辑
您可以在应用程序中在暗/亮模式之间切换,方法是调用
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM)
或
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
我们的应用程序依赖于让我们从和中拾取明暗主题颜色 但是每次我们尝试使用时,它都会从重置UiMode开始,我们的应用程序会混淆为我们的主题选择哪些颜色值 有些人在这里和这里详细讨论了这个问题 有人遇到类似的问题吗?
如何更改MySQL Workbench设置,使其使用深色主题?
我从eclipse.org下载了。并且我更改了上的主题。但这不是我想要的。 我如何做完全黑暗?
我在Windows8.1上为C/C++开发人员提供了Eclipse IDE。我从市场上安装了Darkest Dark主题,但它不起作用。在重新启动时,Eclipse以我以前的主题开始,而Darkest Dark甚至不会出现在Preferences窗口中。然而,当我再次打开Marketplace并搜索它时,它显示为已安装。我找了找,但没有找到这个确切问题的答案。有人帮忙吗?
我会尽量详细解释“请帮忙。我打开了一个新项目。在新项目中,“主题”部分打开了两次“一亮一暗”。我在应用程序中添加了黑色文字。文字看起来是白色的,因为我的手机是黑色主题。这很好,但令人费解。我只有一种颜色。xml文件(不适用于夜间版本)文本是如何变为白色的?这很好,但我添加的图标(矢量“xml”)并将其设置为灰色,但现在它无法理解。图标的颜色在黑暗中从灰色变为黑色。我想让他换成白人。我还打开了颜色。