2

我的程序在横向模式(API7)下运行,所以我在 mainfest 和我的

程序。

        android:screenOrientation="landscape"
        android:configChanges="orientation|keyboardHidden"

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

尽管在横向模式下,它还需要知道用户是横向还是纵向。

从这里,我发现了一些关于方向的帖子。我试过了

onConfigurationChanged 和 display.getOrientation();

不幸的是,onConfigurationChanged 不起作用。而 getOrientation() 只是返回 Landscape。

如何在没有 SensorManager 的情况下正确获取方向信息?

4

1 回答 1

0

要在运行时确定设备的当前方向,您可以使用 WindowManager 类。下面的代码片段演示了它:

WindowManager wm = getWindowManager();
Display d = wm.getDefaultDisplay();

if (d.getWidth() > d.getHeight()) {
// landscape mode
}
else {
// portrait mode
}
于 2012-09-20T02:46:42.087 回答