我希望在旋转屏幕时保持活动并使用不同的布局(横向或纵向) .
-
layout (portrait) :有3个textview, one is visible and other textview is gone
-
layout-land :有3个textview和 all is visible
从这里跟随最佳答案>> Activity restart on rotation Android,我把
android:configChanges =“keyboardHidden | orientation | screenSize”
在我的清单上,我把这个代码:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}
efect before put above code :活动和数据保持不变但无法更改屏幕布局土地/肖像
after put above code :保持活动,更改布局,但数据丢失
那怎么解决呢?
2 回答
当你写这个:
您告诉系统您将自己处理旋转更改,因此它不会执行自动操作,例如通过查看模式更改来保存数据 .
不需要这一行,只需用资源限定符“land”创建另一个布局目录,dir应命名为“layout-land”,并在其中放置您希望应用程序在横向模式下具有的布局,数据将通过改变得救 .
像这样:
忽略图像中目录的内容 .
如何使用ScrollView?
我用自己的应用程序有一种更简单的方法,
你可以使用
ScrollView
并将你的小部件放在里面,这对landscape
和portrait
都有用,你只需要一个布局文件Sample :
activity_main.xml