无需调用onCreate即可更改布局

时间:2012-12-04 20:17:42

标签: android layout android-configchanges

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

android:configChanges = "orientation"

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

4 个答案:

答案 0 :(得分:2)

如果您使用android:configChanges = "orientation",则必须覆盖onConfigurationChanged(...)的{​​{1}}方法。检查Activity参数以获取新方向,然后手动设置所需的布局。

请参阅以下链接:

onConfigurationChanged(Configuration newConfig)

Handling the Configuration Change Yourself

答案 1 :(得分:0)

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

答案 2 :(得分:0)

这是Android生活中的一个事实。由于配置更改(如屏幕方向更改),您需要围绕可以在任何时刻销毁它的事实来开发您的活动。 在暂停时保存用于构建屏幕的所有信息,并在onCreate中重新创建。

答案 3 :(得分:0)

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

        android:screenOrientation="landscape"

您可以将layout.xml文件放在这些文件夹中,以用于不同的屏幕方向:

  • RES \布局陆
  • RES \布局端口