是否可以通过一个拨动开关在多个活动上实施暗模式?或者只有在片段的帮助下才有可能。
请多多包涵,我是Android开发的新手,还是一个新手。
答案 0 :(得分:0)
是的,您可以像这样轻松地处理应用程序中所有片段的暗模式:
//for dark mode
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
// for removing dark mode
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
,如果您看到在更改为暗模式后片段中没有变化,这是因为您在片段中定义了颜色,而在res> values> colors中没有为暗模式定义了颜色。 为此,可以轻松转到res> values> colors,然后右键单击> New> values Resource Files>选择一个名称,然后在Available Qualifiers中选择Night模式,现在您将拥有 colors.xml文件和 colors.xml(夜间)文件 颜色相同但名称不同但特定于该模式的颜色(深色/正常)
答案 1 :(得分:0)
一个棘手的解决方案是在任何类中使用静态布尔变量。 最初,
public static boolean darkMode = false;
如果按下 DARK MODE 按钮,请设置
NameOfTheClass.darkMode = true;
在所有活动的onCreate()中,如果 darkMode == true ,则将背景色设置为黑色。
答案 2 :(得分:0)
您可以存储用户的首选项,并在启动应用程序时加载它们。例如,作为一个公共静态布尔值,只需调用每个活动或创建一个CustomAppCompatActivity类即可为您完成工作。不管怎样。你必须要有创造力。