以编程方式修改 Android 主题
Modify Android Theme Programmatically
类似的问题已经被问过很多次了;但是,没有给出解决我的情况的答案。我需要根据从 API 调用返回的颜色值动态更改应用程序的主题。然后我需要根据返回的值更改应用程序的主题颜色。因此,我无法将颜色保存在样式 XML 文件中。这能做到吗?
我有一个基地 activity,我的计划是从那里为所有活动设置应用主题。
不幸的是,我没有找到一个简单的方法来做到这一点。我创建了一个 ThemeColor
class 来保存 API 返回的所有颜色。然后对于每个 activity 我必须遍历每个小部件并为其设置样式。
示例:
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(themeColor.getActionBarColor)));
this.getWindow().getDecorView().setBackgroundColor(Color.parseColor(themeColor.getBackgroundColor()));
等等
我也找不到解决此问题的简单方法。通过创建一个 ThemeColor class 来保存从 API 返回的所有颜色。接下来,对于每个 activity,我需要分别处理每个小部件并为其设置样式。
类似的问题已经被问过很多次了;但是,没有给出解决我的情况的答案。我需要根据从 API 调用返回的颜色值动态更改应用程序的主题。然后我需要根据返回的值更改应用程序的主题颜色。因此,我无法将颜色保存在样式 XML 文件中。这能做到吗?
我有一个基地 activity,我的计划是从那里为所有活动设置应用主题。
不幸的是,我没有找到一个简单的方法来做到这一点。我创建了一个 ThemeColor
class 来保存 API 返回的所有颜色。然后对于每个 activity 我必须遍历每个小部件并为其设置样式。
示例:
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor(themeColor.getActionBarColor)));
this.getWindow().getDecorView().setBackgroundColor(Color.parseColor(themeColor.getBackgroundColor()));
等等
我也找不到解决此问题的简单方法。通过创建一个 ThemeColor class 来保存从 API 返回的所有颜色。接下来,对于每个 activity,我需要分别处理每个小部件并为其设置样式。