关于我们如何克服屏幕方向的变化存在很多问题。因为大家都知道,当我们旋转屏幕时,会重新创建整个 Activity,并会出现意想不到的结果。
似乎可以解决此问题的一个解决方案是将其添加到 list 中的 Activity 标签中:
<activity
android:configChanges="orientation|screenSize" >
</activity>
我的问题
如果上面的解决方案允许activity在不重新创建的情况下旋转,那我们为什么还要担心这个问题呢?我们为什么要关心架构组件之类的东西?
谢谢。
编辑
我将编辑问题背后的想法,以便 future 的观众理解我的意思。
如果我确实在我的所有 Activity 中都使用了上述内容,那么我是否应该期望一切都能克服屏幕方向的变化(例如:从纵向切换到横向,反之亦然)。
例子:
每次到达列表顶部时,我都会对项目列表进行分页,然后突然变为横向...这是否意味着在 list 中添加上述内容不会将我的列表重新启动为默认项目(所以我必须重新分页)。
最佳答案
- 您可能需要根据运行应用程序的设备的方向和屏幕尺寸显示不同的布局。
- 您可能必须根据自己的需要重新创建 Activity,以便您可以根据屏幕大小重新组织屏幕中显示的数据。
- 如果您的应用程序只显示一种布局而不考虑屏幕旋转,您可以只放置
android:screenOrientation="portrait"
或android:screenOrientation="landscape"
摆脱你处理屏幕方向变化的情况。
还有其他用例需要处理屏幕的方向。
关于Android:如果可以从 list 中处理,为什么我们需要担心屏幕方向变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49914743/