Android 方向更改时setTheme()不工作

Android 方向更改时setTheme()不工作,android,android-layout,android-theme,android-orientation,Android,Android Layout,Android Theme,Android Orientation,我目前正在使用setTheme()动态设置活动的主题。请注意,我不能使用android:configChanges=“orientation,因为我需要AlertDialog来重新创建横向模式的布局 每当我在应用程序的初始点使用setTheme()时,它都可以正常工作。但是,当我切换方向时,主题会恢复为AndroidManifest中设置的原始主题。如何解决此问题?也使用此方法设置您的主题动态。public void onconfiguration changed(Configuration n

我目前正在使用setTheme()动态设置活动的主题。请注意,我不能使用android:configChanges=“orientation,因为我需要AlertDialog来重新创建横向模式的布局


每当我在应用程序的初始点使用setTheme()时,它都可以正常工作。但是,当我切换方向时,主题会恢复为AndroidManifest中设置的原始主题。如何解决此问题?

也使用此方法设置您的主题动态。
public void onconfiguration changed(Configuration newConfig){
super.onConfigurationChanged(newConfig);

}

也使用此方法设置主题动态。
公共void onconfiguration已更改(Configuration newConfig){
super.onConfigurationChanged(newConfig);

}

在调用super.onCreate()之前设置主题,例如


您观察到的行为发生在super.onCreate()在方向更改后,在应用主题之前恢复以前的视图和/或片段状态时。

在调用super.onCreate()之前设置主题,例如


您观察到的行为发生在super.onCreate()时在应用主题之前,在方向更改后恢复以前的视图和/或片段状态。

Hrmm..可能我不清楚。活动和AlertDialog是两个独立的视图。每当我使用该设置时,AlertDialog不会将其布局回流到横向/横向视图。如果我删除该设置,AlertDialog就可以了,但是活动的主题将被弄乱HRMM..可能我不清楚。活动和AlertDialog是两个独立的视图。每当我使用该设置时,AlertDialog不会将其布局回流到横向/横向视图。如果我删除该设置,则AlertDialog会很好,但活动的主题将被弄乱此答案修复了一个bug我在旋转导致启动屏幕图形覆盖主要活动的地方。这个答案修复了我在旋转导致启动屏幕图形覆盖主要活动的地方遇到的错误。
protected void onCreate (Bundle savedInstanceState) {
    setTheme (...);
    super.onCreate (savedInstanceState);
    // go on with further initialization    
}