如何在横向模式下检测方向

时间:2012-09-20 00:16:23

标签: java android screen-orientation

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

中添加了以下commnand

程序。

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

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

在横向模式下,它还需要知道用户正在横向或纵向。

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

onConfigurationChanged和display.getOrientation();

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

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

1 个答案:

答案 0 :(得分:0)

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

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

if (d.getWidth() > d.getHeight()) {
// landscape mode
}
else {
// portrait mode
}