旋转时固定位置
Posted
技术标签:
【中文标题】旋转时固定位置【英文标题】:Fixed position on rotate 【发布时间】:2017-11-11 05:18:32 【问题描述】:我觉得这应该很简单,但是我在网上找不到任何东西。
我的问题与this question 相同,只是针对 android 而不是 ios:我想旋转 UI 元素,同时在屏幕旋转时保持它们的尺寸/位置固定。我意识到我可以为横向创建第二个布局文件,但我想防止在涉及下载 Web 内容和处理它时完全重新加载旋转活动(每次需要几秒钟)。
【问题讨论】:
感谢您的反对和没有反馈。 眼球 不是downvoter,但主题被:developer.android.com/guide/topics/resources/… 啊,谢谢!这实际上对我遇到的另一个问题很有帮助。 :) 【参考方案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);
【讨论】:
以上是关于旋转时固定位置的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Sencha Touch 应用程序中所有视图之外的固定位置添加交互式动态组件