如何在android中以横向模式保留相同的状态

时间:2012-11-24 08:17:15

标签: android android-emulator

如何在景观中保持相同的状态。  当我以横向模式旋转屏幕时,然后重新启动活动 我的布局视图显示错误。所以请帮助我。

3 个答案:

答案 0 :(得分:1)

您可以使用Bundle onSaveInstanceState()方法将状态保存在onCreate()onRestoreInstanceState()中。

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

答案 1 :(得分:0)

要在横向模式下保留相同的状态,您必须在当前活动中添加android:configChanges="orientation|keyboard"以处理正在进行的配置更改:

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

或更改布局或configChanges上的任何视图,您必须覆盖活动的onConfigurationChanged

@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's ..和onRestoreInstanceState() for Retrieving after after after设备模式旋转。

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

Handling Runtime Changes

答案 2 :(得分:0)

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