如何在创建活动后更改活动的主题?

时间:2014-06-18 14:43:23

标签: android android-theme

创建活动后,如何将其主题更改为新主题,例如Theme.Holo

有可能吗?

2 个答案:

答案 0 :(得分:2)

创建活动后,您无法更改活动的主题。您可以在添加任何视图之前更改主题,但不能在之后更改。

根据the docs for setTheme(int)

  

请注意,应该在Context中实例化任何视图之前调用它(例如在调用setContentView(View)或inflate(int,ViewGroup)之前)。

如果您希望在添加任何视图之前更改主题 ,您可以在onCreate()中执行此操作,如下所示:

public void onCreate(Bundle savedInstanceState) {
    setTheme(myThemeResourceId);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

答案 1 :(得分:1)

你可以这样做:

@Override
protected void onCreate(final Bundle bundle) {
    activity.setTheme(yourThemeID);
    super.onCreate(bundle);
}