如何通过单击一个按钮来更改完整android应用程序的颜色?

如何通过单击一个按钮来更改完整android应用程序的颜色?,android,android-theme,Android,Android Theme,目前,我正在为安卓系统上的智能手机开发一款应用程序,该应用程序将用于控制望远镜。要求之一是能够通过按下一个按钮切换到夜视模式 在夜视模式下,应用程序是昏暗的盖子,所有UI元素都是一种红色 在所有生命周期更改期间,颜色和照明级别应相同。因此,当切换到应用程序的另一部分时,使用微调器、使用内置键盘输入文本或执行其他任务时,不会出现白色闪烁 虽然我是Android编程新手,但我知道如何在XML文件中更改UI元素的颜色,或者通过按按钮以编程方式更改UI元素的颜色。我无法对应用程序中的所有元素和内置键盘执

目前,我正在为安卓系统上的智能手机开发一款应用程序,该应用程序将用于控制望远镜。要求之一是能够通过按下一个按钮切换到夜视模式

在夜视模式下,应用程序是昏暗的盖子,所有UI元素都是一种红色

在所有生命周期更改期间,颜色和照明级别应相同。因此,当切换到应用程序的另一部分时,使用微调器、使用内置键盘输入文本或执行其他任务时,不会出现白色闪烁


虽然我是Android编程新手,但我知道如何在XML文件中更改UI元素的颜色,或者通过按按钮以编程方式更改UI元素的颜色。我无法对应用程序中的所有元素和内置键盘执行此操作。

您需要为应用程序创建两个不同的主题,其中包含按钮文本颜色、背景颜色和所有这些花招的样式信息。然后在xml中,您将希望引用样式,而不是颜色/文本等的特定颜色

按下按钮切换主题,主题将具有不同但命名相似的样式,您的xml版面现在将引用这些样式

按下按钮后,您将希望执行类似的操作

  setTheme(R.style.Theme_Day);
更多信息请查看这里。

你需要为你的应用程序创建两个不同的主题日/夜,其中包含按钮文本颜色、背景颜色和所有这些花招的样式信息。然后在xml中,您将希望引用样式,而不是颜色/文本等的特定颜色

按下按钮切换主题,主题将具有不同但命名相似的样式,您的xml版面现在将引用这些样式

按下按钮后,您将希望执行类似的操作

  setTheme(R.style.Theme_Day);
更多信息请查看这里。