我希望在旋转屏幕时保持活动并使用不同的布局(横向或纵向)。
从此处获得最佳答案>> Activity restart on rotation Android,我把
机器人:configChanges = “keyboardHidden |取向|屏幕尺寸”
在我的清单上,我把这段代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
效应 之前放置代码:活动和数据保持不变但无法更改屏幕布局土地/肖像
放入上面的代码后:保持活动,布局更改,但数据丢失
那怎么解决呢?
答案 0 :(得分:0)
当你这样写:
android:configChanges="keyboardHidden|orientation|screenSize"
您告诉系统您将自己处理旋转更改,因此它不会执行自动操作,例如通过查看模式更改来保存数据。
不需要这一行,只需使用资源限定符" land"创建另一个布局目录,dir应命名为" layout-land"并在其中添加您希望应用程序在横向模式下具有的布局,并通过更改保存数据。
像这样:
忽略图像中目录的内容。
答案 1 :(得分:0)
ScrollView
?ScrollView
并将你的小部件放在里面,这样就可以了
为landscape
和portrait
工作,你只需要一个
布局文件<强>示例强>:
<强> activity_main.xml中强>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- everything you already have -->
</LinearLayout>
</ScrollView>