以编程方式修改Android主题

时间:2015-10-29 19:01:02

标签: android android-theme

有很多次问过类似的问题;然而,没有给出解决我的情况的答案。我需要根据API调用返回的颜色值动态更改应用程序的主题。然后我需要根据返回的值更改应用程序的主题颜色。因此,我无法在样式XML文件中保存颜色。可以这样做吗?

我有一个基本活动,我的计划是从那里为所有活动设置应用主题。

2 个答案:

答案 0 :(得分:1)

不幸的是,我没有找到一个简单的方法来做到这一点。我创建了一个ThemeColor类,它包含API返回的所有颜色。然后,对于每个活动,我必须浏览每个小部件并为其设置样式。

示例:

getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(themeColor.getActionBarColor)));
this.getWindow().getDecorView().setBackgroundColor(Color.parseColor(themeColor.getBackgroundColor()));

答案 1 :(得分:0)

我无法找到解决此问题的简单方法。通过创建一个ThemeColor类来保存从API返回的所有颜色。接下来,每个活动我需要分别处理每个小部件并为其设置样式。