Android:如果可以从清单处理屏幕方向更改,为什么我们需要担心屏幕方向更改?

时间:2018-04-19 07:04:44

标签: android screen-orientation

关于我们如何克服屏幕方向的变化,存在很多问题。因为当我们旋转屏幕时你们都知道,然后重新创建整个活动并发生意外结果。

似乎解决此问题的一个解决方案是将其添加到清单中的活动代码:

 <activity
     android:configChanges="orientation|screenSize" >
 </activity>

我的问题

如果上述解决方案允许在没有娱乐的情况下轮换活动,那么为什么我们不得不担心这个问题呢?我们为什么要关心像Architecture Components这样的东西?

感谢。

修改

我将编辑问题背后的想法,以便未来的观众了解我的意思。

如果我在所有活动中都使用了上述内容,那么我是否应该期望所有内容都能克服屏幕方向的变化(例如:从纵向切换到横向,反之亦然)。

示例:

每次到达列表顶部时,我都会对项目列表进行分页,然后我突然改为横向...然后这意味着在清单中添加上述内容并不会重新启动我的列表到默认项目(因此我必须重新分页)。

2 个答案:

答案 0 :(得分:2)

  • 您可能需要根据运行应用程序的设备的方向和屏幕大小显示不同的布局。
  • 您可能需要根据自己的需要重新创建活动,以便根据屏幕大小重新组织屏幕中显示的数据。
  • 如果您的应用程序只显示一个布局而不考虑屏幕旋转,您可以放置​​android:screenOrientation="portrait"android:screenOrientation="landscape"来摆脱处理屏幕方向更改的情况。

还有其他用例需要处理屏幕方向。

答案 1 :(得分:0)

配置更改可能由于多种原因而发生 - 而不仅仅是屏幕方向更改。将设备插入显示器底座,更改默认语言以及修改设备的默认字体缩放系数只是可以触发设备配置更改的三个事件示例,所有这些都表示系统要销毁并重新创建当前正在运行的所有活动。有关详细信息,请访问this