0

如何得到它?在我的 XML 文件中,我对我的活动使用唯一的纵向方向。

android:configChanges="keyboard|keyboardHidden|orientation|screenLayout"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"

和 onConfigurationChanged 并且不适用于方向。

更新目前我使用:

@Override
    public void onSensorChanged(SensorEvent event) {
        x = event.values[0];
        y = event.values[1];
    }

    private PictureOrientation getLastOrientation() {
        MyPictureOrientation orient;
        if (x >= -5 && x < 5) {
            if (y > 0) {
                orient = PORTRAIT;
            } else {
                orient = PORTRAIT_REV;
            }
        } else {
            if (x >= -10 && x < -5) {
                orient = LAND_RIGHT;
            } else {
                orient = LAND_LEFT;
            }
        }

        return orient;
    }
4

3 回答 3

0

您可以使用以下代码获取当前方向:

getResources().getConfiguration().orientation
于 2012-11-22T08:48:08.893 回答
0

一些伪代码:

Display getOrient = getWindowManager().getDefaultDisplay();
if(getOrient.getWidth() < getOrient.getHeight())
  // then you have portrait orientation
else
  // you have landscape
于 2012-11-22T08:50:52.153 回答
0

如果您希望您的应用程序在 potrait 中工作,只需将以下内容放入清单中

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

和 oncreate 和 onConfigurationChanged 放

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
于 2012-11-22T08:51:58.197 回答