我怎样才能在风景中保持相同的状态。当我在横向模式下腐烂屏幕时,活动重新启动并且我的布局视图显示错误。所以请帮助我。
3 回答
您可以将您的状态保存在Bundle
inonSaveInstanceState()
方法中并将其恢复回 inonCreate()
或 in onRestoreInstanceState()
。
或者如果您想禁用方向更改,您可以添加android:screenOrientation="landscape"
到Activity
清单文件中。
为了在横向模式下保持相同的状态,您必须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 主题:
如果您说您的布局在横向模式下看起来/不合适,那么您将需要一个具有相同名称的新 xml 并将其放在一个名为“layout-land”的新文件夹中。那应该有帮助