请问有人知道如何在运行时设置主题吗?调用getApplication().setTheme()不能成功设置主题吗?
当用户选择按钮时,我该如何设置主题以使其在我的应用程序中生效?
请问有人知道如何在运行时设置主题吗?调用getApplication().setTheme()不能成功设置主题吗?
当用户选择按钮时,我该如何设置主题以使其在我的应用程序中生效?
在调用setContentView(...)
和super.oncreate()
之前,您可以使用setTheme(..)
,这样就可以正常工作。
根据这个描述,活动需要被销毁并重新创建(就像在方向或其他配置更改时通常会发生的情况一样),然后在onCreate()中调用setTheme()。public void setTheme (int resid)
自API Level 1以来,设置此上下文的基础主题。请注意,这应该在上下文中实例化任何视图之前调用(例如,在调用setContentView(View)或inflate(int,ViewGroup)之前)。
这个问题在谷歌 Android 中是一个开放问题:似乎有一个未解决的 bug,即您无法通过 setTheme() 方法编程地更改主题。http://code.google.com/p/android/issues/detail?id=4394