3

我有一个包含两个布局文件的活动,一个用于纵向和横向模式。我看到每次更改方向时都会调用 onCreate 方法。我尝试使用

android:configChanges = "orientation"

在清单文件中,但它只读取纵向布局。有没有一种方法可以在不调用 onCreate 的情况下将布局设置为横向模式?

4

4 回答 4

2

如果你使用android:configChanges = "orientation",你必须重写你的onConfigurationChanged(...)方法Activity。检查newConfig新方向的参数,然后手动设置所需的布局。

请参阅以下链接:

onConfigurationChanged(配置新配置)

自己处理配置更改

于 2012-12-04T20:58:46.967 回答
0

您可以创建两个布局文件夹。一种用于纵向模式,一种用于横向模式。布局和布局土地。

于 2012-12-04T20:19:33.727 回答
0

这是 android 的生活事实。您需要围绕这样一个事实来开发您的活动,因为它可能会由于屏幕方向更改等配置更改而随时被销毁。保存所有用于在暂停时构建屏幕的信息并在 onCreate 中重新创建它。

于 2012-12-04T20:21:37.257 回答
0

如果您希望您的活动仅处于横向模式,您可以在 AndroidManifest.xml 中为活动设置此属性:

        android:screenOrientation="landscape"

您可以将 layout.xml 文件放在这样的文件夹中以适应不同的屏幕方向:

  • 资源\布局土地
  • 资源\布局端口
于 2012-12-04T20:21:50.870 回答