Android 可以知道屏幕方向何时改变,但在清单上强制使用纵向模式?

Android 可以知道屏幕方向何时改变,但在清单上强制使用纵向模式?,android,screen-orientation,Android,Screen Orientation,欢迎大家 我对我的应用程序有特殊需求。我必须强制应用程序只能在纵向模式下工作,但我需要知道用户何时将手机移动到横向模式。为什么?因为我正在显示带有纹理图像的opengl视图,当用户将手机位置更改为横向模式时,我必须在不重置活动的情况下旋转多边形。然后我必须在清单上强制使用肖像模式,因为我不希望再次调用onCreate方法 请问,有人能告诉我如何做到这一点吗 我知道如何旋转图像,我只需要知道用户何时将手机移动到横向位置,但在清单上强制使用纵向 我尝试在清单中添加android:screenOrie

欢迎大家

我对我的应用程序有特殊需求。我必须强制应用程序只能在纵向模式下工作,但我需要知道用户何时将手机移动到横向模式。为什么?因为我正在显示带有纹理图像的opengl视图,当用户将手机位置更改为横向模式时,我必须在不重置活动的情况下旋转多边形。然后我必须在清单上强制使用肖像模式,因为我不希望再次调用onCreate方法

请问,有人能告诉我如何做到这一点吗

我知道如何旋转图像,我只需要知道用户何时将手机移动到横向位置,但在清单上强制使用纵向

我尝试在清单中添加android:screenOrientation=“肖像”,并在清单中的声明中添加android:configChanges=“keyboardHidden | orientation”;然后在我的活动中重写OnConfiguration Changed()。但这不起作用,因为肖像模式是forzed的,所以onConfigurationChanged方法永远不会被调用


谢谢

为什么不在手机旋转90度时使用显示器呢。实际上也可能有帮助。

为什么不在手机旋转90度时使用显示器呢。实际上也可能有帮助。

在清单android中使用此属性:configChanges=“orientation”这将停止重新创建活动,然后覆盖onConfigurationChange()方法。在纵向和横向模式下提供相同的布局。当发生方向更改时,将调用该方法,然后像u一样更改图像。

在manifest android中使用此属性:configChanges=“orientation”这将停止重新创建活动,然后覆盖onConfigurationChange()方法。在纵向和横向模式下提供相同的布局。当发生方向更改时,将调用该方法,然后将图像更改为u,就像不要在清单中设置屏幕方向一样(android:screenOrientation=“纵向”)。添加android:configChanges=“keyboardHidden | orientation”,并覆盖您的onConfigurationChanged()。这样,onCreate将不会被调用两次

以下是更改的OnConfiguration示例:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig); // tem que ter
    if (getResources().getConfiguration().orientation ==  Configuration.ORIENTATION_LANDSCAPE) {

    } else 
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

    }
}

不要在清单中设置屏幕方向(android:screenOrientation=“纵向”)。添加android:configChanges=“keyboardHidden | orientation”,并覆盖您的onConfigurationChanged()。这样,onCreate将不会被调用两次

以下是更改的OnConfiguration示例:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig); // tem que ter
    if (getResources().getConfiguration().orientation ==  Configuration.ORIENTATION_LANDSCAPE) {

    } else 
    if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {

    }
}

尝试:从清单中删除您的android:screenOrientation=“肖像”。添加android:configChanges=“keyboardHidden | orientation”,并覆盖您的onConfigurationChanged()。这样你的onCreate就不会被调用两次了。德尔祖,你能帮我解释一下ashok的答案吗?感谢您:从清单中删除您的android:screenOrientation=“肖像”。添加android:configChanges=“keyboardHidden | orientation”,并覆盖您的onConfigurationChanged()。这样你的onCreate就不会被调用两次了。德尔祖,你能帮我解释一下ashok的答案吗?谢谢,有人能告诉我怎么做吗:“在纵向和横向模式下提供相同的布局。”请有人告诉我怎么做:“在纵向和横向模式下提供相同的布局。”