我觉得这应该很简单,但我在网上找不到任何东西。
我的问题与this question相同,仅适用于Android而非iOS:我希望旋转UI元素,同时保持其尺寸/位置固定在屏幕旋转上。我意识到我可以为横向创建第二个布局文件,但是当我涉及下载Web内容并处理它时(每次需要几秒钟),我想阻止在旋转时完全重新加载活动。
答案 0 :(得分:1)
我设法通过这篇文章中的一些帮助来解决这个问题:Handling Screen Layout Changes In Android。虽然他们的基本结论似乎是错误的,你不能保持单一的布局并以我正在寻找的方式轮换?
如果我犯了一些致命的错误,请纠正我,但我使用的代码似乎有效。基本思路是使用线性布局并在屏幕方向改变时更改方向:
//Manage screen rotation
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
LinearLayout readingsLinearLayout = findViewById(R.id.readingsLinearLayout);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
readingsLinearLayout.setOrientation(LinearLayout.VERTICAL);
} else {
readingsLinearLayout.setOrientation(LinearLayout.HORIZONTAL);
}
}