有没有人为Android应用程序实现多主题支持?这有什么常见的做法吗?
感谢您的任何建议。
UPD:现在的主要问题是android的主题引擎不支持CSS中的选择器。例如,如果我有两个带有“背景”属性的视图,则无法使主题引擎区分这些视图并设置不同的背景。我可以为每个视图指定不同的样式,但这种方法缺乏灵活性,因为不可能同时为整个活动应用样式。
答案 0 :(得分:3)
据我所知,没有办法在代码行中为整个应用程序设置主题。如果您想更改活动的主题,则需要在setTheme()
方法中调用onCreate()
,然后再调用setContentView
。因此,为了方便您,您可以切换所有主题,并选择一个用户选择的主题。现在,如果您希望它轻松应用于您的所有活动,您可以将所有活动都设置为自定义Activity
的子类,您只需在其中设置主题。活动< - ThemeActivity< - 所有活动
答案 1 :(得分:1)
您必须使用android attrs.xml来定义动态样式属性 我在这里写了一篇关于如何做到这一点的博客:
http://blabadi.blogspot.com/2015/01/android-multiple-themes-for-one.html
希望这会有所帮助。