0

我目前使用setTheme()來動態設置活動的主題。請注意,我不能使用機器人:因爲我需要AlertDialog重新佈局爲橫置模式configChanges =「方向setTheme()在方向更改時不工作

每當我在應用程序的初始點使用setTheme(),它工作正常。然而,當我切換方向,主題回覆到原來作爲AndroidManifest設置。我該如何去了解這個問題呢?

回答

0

坐落在這種方法也動態主題。public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); }

+0

Hrmm..maybe我不清楚。 Activity和AlertDialog是兩個獨立的視圖。每當我使用該設置時,AlertDialog都不會將其佈局重排到風景/海峽視圖。如果我刪除了設置,那麼AlertDialog會很好,但活動的主題會混亂 – barrybear

1

調用之前設置你的主題super.onCreate(),例如

protected void onCreate (Bundle savedInstanceState) { 
    setTheme (...); 
    super.onCreate (savedInstanceState); 
    // go on with further initialization  
} 

您觀察到的行爲發生在super.onCreate()在您的主題被應用之前在方向改變之後恢復先前的視圖和/或片段狀態時。