2

私のプログラムはランドスケープモード(API7)で実行されているので、メインフェストと私の

プログラム。

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

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

横向きモードですが、ユーザーが横向きまたは縦向きで持っていることも認識する必要があります。

ここから、オリエンテーションに関するいくつかの投稿を見つけました。そして、私は試しました

onConfigurationChanged および display.getOrientation();

残念ながら、onConfigurationChanged は機能しません。そして、getOrientation() は単にランドスケープを返します。

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 に答える