固定旋转位置

时间:2017-11-11 05:18:32

标签: java android rotation

我觉得这应该很简单,但我在网上找不到任何东西。

我的问题与this question相同,仅适用于Android而非iOS:我希望旋转UI元素,同时保持其尺寸/位置固定在屏幕旋转上。我意识到我可以为横向创建第二个布局文件,但是当我涉及下载Web内容并处理它时(每次需要几秒钟),我想阻止在旋转时完全重新加载活动。

1 个答案:

答案 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);

        }

    }