Android:如果可以从 list 中处理,为什么我们需要担心屏幕方向变化?

标签 android screen-orientation

关于我们如何克服屏幕方向的变化存在很多问题。因为大家都知道,当我们旋转屏幕时,会重新创建整个 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/

相关文章:

android - 如何从粘贴到 SearchView 的文本中删除格式?

javascript - 所有移动设备(浏览器)的锁定屏幕方向

android - 通过屏幕方向更改在 Activity 中保留对象引用的最佳方法

java - 将 blob 转换为 Mp3 但文件无法播放

android - 在 ListView 中显示照片,如何让适配器在用户看到列表之前预加载?

android - token 在 Firebase 中始终为空

java - 将重启手机的 Android 应用程序小部件 - 小部件没有做任何事情?

android - 避免在android中方向更改时使用异步任务重新加载 Activity

ios - 我应该在我的 iOS 应用程序中启用还是禁用颠倒?

android - 如何从传感器确定设备方向