我想在主屏幕上为我的应用程序添加一个按钮,这样当您单击此按钮时,就会出现暗模式。暗模式已经设置好,一切都在运行。但是,仅当此应用程序的用户也使用他的手机处于黑暗模式时。但我希望每个人都有机会自己在应用程序中切换到暗模式。我希望你能理解我的问题我的意思,我的英语不是那么好所以抱歉
问问题
56 次
3 回答
2
使用 API AppCompatDelegate.setDefaultNightMode()
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
您会发现 Google 的 Chris Banes 的这篇文章很有用:
https://medium.com/androiddevelopers/appcompat-v23-2-daynight-d10f90c83e94
您应该考虑通过上面文章中所述的“设置”按钮添加应用首选项
于 2020-11-05T19:02:43.720 回答
1
我如何理解您已经拥有 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
于 2020-11-05T17:47:41.540 回答
1
正如您已经定义的 DarkMode 可能是可绘制的。所以你可以通过下面的代码来切换背景。
if (true) {
button.setBackgroundResource(R.drawable.darkmode);
}else {
button.setBackgroundResource(R.drawable.defaultmode);
}
于 2020-11-05T18:00:14.317 回答