« android アプリでインターネットに接続するためのパーミッション | トップページ | LinearLayoutに関するもろもろの問題 »

2017.08.16

画面の回転の固定について


画面を現在の状態で固定にしたいとき、APIレベル18以上であれば以下の一行ですむ。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LOCKED);

APIレベル17以下の場合は、センシングして以下のように設定。

switch (((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay().getRotation()) {
case Surface.ROTATION_0:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
break;
case Surface.ROTATION_90:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
break;
case Surface.ROTATION_180:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT);
break;
case Surface.ROTATION_270:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE);
break;
}


静的に横固定する場合は、

android:label="@string/app_name"
android:screenOrientation="landscape">

landscape:横固定
portrait:縦固定
reverseLandscape:さかさまの横固定
reversePortrait:さかさまの縦固定


« android アプリでインターネットに接続するためのパーミッション | トップページ | LinearLayoutに関するもろもろの問題 »

「android開発メモ」カテゴリの記事

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/12074/65673118

この記事へのトラックバック一覧です: 画面の回転の固定について:

« android アプリでインターネットに接続するためのパーミッション | トップページ | LinearLayoutに関するもろもろの問題 »