Display.getRotation()
根据 Google 的这篇有用的博客文章,我正在使用该方法来确定我的应用程序中屏幕的当前方向:
http://android-developers.blogspot.com/2010/09/one-screen-turn-deserves-another.html
简而言之,我有一个绘图应用程序,允许用户在屏幕上绘制形状等,并且绘图画布需要保持相同的方向,但我仍然希望选项菜单等翻转到正确的位置用户是否以及何时开始以不同的方向使用设备进行绘图。
对于onDraw()
画布,我请求方向getRotation()
,然后将画布旋转回“0”位置,以便从最终用户的角度来看,画布永远不会移动。工作起来就像一个魅力,除非用户非常快速地翻转设备......然后getRotation()
报告旋转 0,因此画布不会旋转回来,使绘图看起来翻转或转动。
有趣的是,标题栏和选项菜单确实会翻转……所以不确定它们是从哪里获得方向的。如果用户随后开始绘图,则后续调用会onDraw()
获取正确的旋转值,并且绘图会回到正确的位置,但正如您可以想象的那样,这有点令人不安/烦人。有什么应对策略吗?
谢谢。