如何在应用程序中一起使用layout-land和android:configChanges = orientation | screenSize?

时间:2016-05-17 06:29:11

标签: android android-layout android-manifest

我的应用程序需要在更改设备方向时进行布局。 我使用对话框输入名称但是当方向改变时,对话框就会消失。

这就是在清单文件中使用 android:configChanges = orientation | screenSize

现在的问题是android:configChanges属性不能与layout-land一起使用,因为它阻止了重启活动。

我的应用程序需要 layout-land和android:configChanges = orientation | screenSize一起工作。

请帮帮我。

提前致谢。

Dialog Image

2 个答案:

答案 0 :(得分:1)

您不需要android:configChanges=orientation|screenSize来解决问题,而对话框在旋转时不会重新出现。确保使用DialogFragment代替简单AlertDialog,当设备旋转时,DialogFragment会自动重新出现。

答案 1 :(得分:0)

如果您使用android:configChanges=orientation|screenSize处理配置更改,Android将无法重新启动应用。因此,laout-land将不适用。为此,您必须覆盖方法

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
}

一旦方向改变,将调用此回调,然后膨胀layout-land布局xml并添加更新自定义对话框的内容视图。