如何在运行时设置主题?

时间:2011-03-28 13:16:46

标签: android

请知道如何使用运行时设置主题? getApplication()。setTheme()没有设置主题?

如何在用户选择按钮时设置主题,它将在我的应用程序中设置主题?

3 个答案:

答案 0 :(得分:3)

您可以在致电setTheme(..)setContentView(...)之前使用super.oncreate(),它应该可以正常使用

答案 1 :(得分:2)

我没试过,但这里是ContextWrapper.setTheme(int)的文档:

  

public void setTheme(int resid)

     

从:API Level 1设置基本主题   对于这种情况。请注意这一点   应该在任何观点之前调用   在Context中实例化(for   调用之前的例子   setContentView(View)或inflate(int,   ViewGroup中))。

根据此描述,需要销毁和重新创建活动(通常在方向或其他配置更改时),然后在onCreate()中调用setTheme()。

答案 2 :(得分:0)

这是一个开放的谷歌Android问题:它似乎是一个开放的错误,你无法用setTheme()以编程方式更改主题。 http://code.google.com/p/android/issues/detail?id=4394