欢迎大家
我特别需要我的应用程序 . 我必须强制该应用程序仅在纵向模式下工作,但我需要知道用户何时将手机移至横向模式 . 为什么?因为我正在显示带有纹理图像的opengl视图,当用户将手机位置更改为横向模式时,我必须旋转多边形而不重置活动 . 然后我必须在清单上强制纵向模式,因为我不希望再次调用我的onCreate方法 .
拜托,有人能告诉我如何实现这个目标吗?
我知道如何旋转图像,我只需要知道用户何时将手机移动到横向位置,但是在清单上强制使用肖像 .
我尝试在清单中添加android:screenOrientation =“portrait”,并在清单中的声明中添加android:configChanges =“keyboardHidden | orientation”;然后在我的活动中覆盖onConfigurationChanged() . 但是这样做不行,因为肖像模式是伪造的,那么onConfigurationChanged方法永远不会被调用......
谢谢
3 回答
为什么不使用SensorManager来监控手机旋转90度的时间 . 实际上this也可能有所帮助 .
在清单android:configChanges =“orientation”中使用此属性,这将停止重新创建活动,然后覆盖onConfigurationChange()方法 . 在纵向和横向模式下提供相同的布局 . 当方向发生变化时,将调用该方法,然后根据需要更改图像
不要在清单中设置屏幕方向(android:screenOrientation =“portrait”) . 添加android:configChanges =“keyboardHidden | orientation”,并覆盖你的onConfigurationChanged() . 这样你的onCreate将不会被调用两次 .
这是onConfigurationChanged的一个例子: