1

我怎样才能在风景中保持相同的状态。当我在横向模式下腐烂屏幕时,活动重新启动并且我的布局视图显示错误。所以请帮助我。

4

3 回答 3

1

您可以将您的状态保存在BundleinonSaveInstanceState()方法中并将其恢复回 inonCreate()或 in onRestoreInstanceState()

或者如果您想禁用方向更改,您可以添加android:screenOrientation="landscape"Activity清单文件中。

于 2012-11-24T08:25:09.803 回答
0

为了在横向模式下保持相同的状态,您必须android:configChanges="orientation|keyboard" 在当前活动中添加以处理配置更改,如下所示:

<activity
 android:configChanges="orientation|keyboard"
 ...
 />

或对于更改布局或任何视图,configChanges您必须onConfigurationChanged将 Activity 覆盖为:

@Override
public void onConfigurationChanged(Configuration newConfig)
{
    //Handle config changes here, paying attention to
    //the newConfig.orientation value
    super.onConfigurationChanged(newConfig);
}

如果您想在 Configuration Chnages 上的任何视图上保存状态,那么您必须覆盖onSaveInstanceState()以保存视图的状态,如 TextView、EditText、View Layout 的 .. 以及 onRestoreInstanceState()在设备模式旋转后恢复状态。

有关我们如何处理运行时更改的更多信息,您还可以查看这个 android 主题:

处理运行时更改

于 2012-11-24T08:31:34.243 回答
0

如果您说您的布局在横向模式下看起来/不合适,那么您将需要一个具有相同名称的新 xml 并将其放在一个名为“layout-land”的新文件夹中。那应该有帮助

于 2012-11-24T08:34:21.307 回答