0

重複の可能性:
Android で向きの変更を無効にする方法は?

キャンバスを任意の向き(縦または横)で開いた後、向きの変更を無効にしたいのですが、キャンバスを横モードで開いてデバイスの向きを変更すると問題が発生し、向きが無効になりません。

ここにコードがあります。

public void onConfigurationChanged(Configuration newConfig) {

  super.onConfigurationChanged(newConfig);
  this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR);

}
4

3 に答える 3

6

あなたのコードでこれを試してください...

if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    }
    else
    {
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }

oncreate で向きを取得し、そのアクティビティの向きを設定します

于 2012-11-01T05:20:13.467 に答える
3

このコードを使用して、マニフェストからアクティビティの固定方向を追加します:(このコードをアクティビティタグ内に配置します)

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

これにより、あなたのアクティビティは縦向きモードでのみ表示されます

于 2012-11-01T04:56:32.713 に答える
1

使用する:

<activity android:name="YourActivity" android:configChanges="orientation|keyboardHidden">
于 2012-11-01T04:56:48.763 に答える