我正在开发一个将所有活动设置为的应用程序:
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”。