可能重复:
How do I detect screen rotation
你好,
我只想检测应用程序中的旋转变化。不过,我想我在安卓系统中发现了一个漏洞。如果你读到这个:
http://developer.android.com/guide/practices/optimizing-for-3.0.html#Landscape
也就是说,每次设备改变方向时,都会调用activity.ondestory()和activity.oncreate()。所以我想我可以使用display.getRotation()方法在activity.onCreate()方法中找出我的新方向。但是,我发现,由于某种原因,如果您将设备快速翻转180度,则不会调用oncreate()(甚至onresume())。我用祝酒词证明了这一点。activity.oncreate()中(或activity.onresume()中)的Toast消息将以90度旋转显示,但设备翻转180度时不会显示。所以关键是,上面文章中的说法并不总是正确的。
所以我决定使用orientationEventListener.onOrientationChanged()。这是可行的,但我不希望在我的应用程序中一遍又一遍地调用onOrientationChanged()(每次设备的度数变化都会调用它)。这会让我做的其他事情慢下来。我只想当我旋转屏幕足够让屏幕上的图像旋转时调用它,这样我就能知道我是在旋转、旋转90、旋转180还是旋转270。
这当然是一个Xoom。
有什么建议吗
最佳答案
详细回答了here。