【问题标题】:Change XML color programmatically以编程方式更改 XML 颜色
【发布时间】:2018-05-02 14:01:47
【问题描述】:

是否可以通过 Kotlin/java 代码更改 XML 颜色。 我的应用程序中只有 5 种颜色,在设置中您可以更改主题。我不想将每个元素更改为新颜色,但我想更改 XML 颜色,以便所有元素都获得新颜色。 例如:

<color name="colorPrimary">#6c6c6c</color>

每当开关元素为ON 时,我都想更改它

<color name="colorPrimary">#212121</color>

主要想法是我希望所有元素都从源头获取颜色。

【问题讨论】:

  • 对不起,您不能在运行时修改资源的值。
  • 是否可以一次更改一组元素的颜色?或者,如果您知道如何在不手动选择和更改元素颜色的情况下更改应用的整个主题。
  • 您必须为此使用应用主题。创建一个新主题并以编程方式更改它。见:developer.android.com/guide/topics/ui/look-and-feel/themes
  • 非常感谢@LucasDeMoraisCabrales,这非常有帮助。您可以发布一个答案,以便我标记为有用吗?
  • 好的,很高兴我能帮上忙,已经完成了

标签: java android xml kotlin


【解决方案1】:

正如@CommonsWare 所说,无法在运行时更改 XML 资源值。

为了动态地更改所有颜色,最好的方法是使用应用主题。创建一个新主题并以编程方式更改它。

见:Themes

【讨论】:

    猜你喜欢
    • 2015-12-06
    • 2021-03-31
    • 1970-01-01
    • 2010-12-21
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多