添加暗模式按钮

问题描述

我想在主屏幕上向我的应用程序添加一个按钮,以便当您单击此按钮时,将显示暗模式。暗模式已经设置好,一切都在运行。但是,仅当此应用程序的用户也处于其手机的暗模式下时。但我希望每个人都有机会自己在应用程序中切换到暗模式。希望您能理解我的意思,我的英语不好,很抱歉

解决方法

使用API​​ AppCompatDelegate.setDefaultNightMode()

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);

您会发现Google的Chris Banes的这篇文章很有用:

https://medium.com/androiddevelopers/appcompat-v23-2-daynight-d10f90c83e94

您应该考虑按照上述文章中的“设置”按钮添加应用偏好设置

,

据我了解,您已经具有DarkMode样式和Default样式。 您可以在MainActivity上为其添加一个Switch,并将darkMode状态保存在SharedPreferences类中。 设定条件:

if (Switch is enabled) {
setTheme(R.style.darkMode) 
}else {
setTheme(R.style.defaultMode)  
}

有关更多详细信息,您可以观看youtube上有关如何执行此操作的一些教程。 https://www.youtube.com/watch?v=xqY7Yu5C8pg

,

正如您已经定义的那样,DarkMode可能处于可绘制状态。因此,您可以通过以下代码切换背景。

if (true) {
     button.setBackgroundResource(R.drawable.darkmode);
}else {
     button.setBackgroundResource(R.drawable.defaultmode);
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...