我正在开发一个将所有活动设置为的应用程序:

   android:screenOrientation="portrait"


这是发生了什么:


  应用启动之前,平板电脑处于纵向模式:



startScreen以纵向模式创建
一个导航到另一个人像屏幕
一个回到startScreen-它以纵向模式创建-一切正常



  当平板电脑处于横向模式时,会发生这种情况
  该应用程序启动:



startScreen以纵向模式创建
一个导航到另一个人像屏幕
一个返回到startScreen-它是在LANDSCAPE模式下创建的,只是在一秒钟之内立即关闭,并且该活动被破坏-然后,最后该活动在porttrait模式下创建


如何避免在LANDSCAPE模式下进行此创建几秒钟,而仅在纵向模式下立即进行创建?

非常感谢

最佳答案

在活动标记中添加清单:android:configChanges =“ orientation”。现在它将不会重新启动方向。

这只是一个理论,但是如果您首先以横向模式查看屏幕,则可以覆盖根视图并覆盖onDraw方法。
检查画布的宽度和高度。
如果高度大于宽度,则不要绘制或将可见性设置为false。
直到您收到“正确的”画布为止。

这可能是一个过大的杀伤力,但我认为可以做到。

另外,在这里寻找更多可能改变屏幕方向的东西:
http://developer.android.com/guide/topics/manifest/activity-element.html#screen

API 14和更高版本中的另一个(我认为)是导致我遇到很多问题的“ ScreenSize”。

07-26 01:15