アプリを作る際に「このアプリは横向きでしか使わないから、横固定!」ということで
AndroidManifest.xmlのactivityタグに
android:screenOrientation="landscape"
と書くことは多いですよね
でも、このようAndroidManifest.xmlに指定をしている場合にはandroid.hardware.screen.landscapeに対応していない端末がサポート外になる可能性があります
これはportraitの時も同じです
こんな時、向きの固定はプログラムで指定しちゃいましょう
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
を記述する横向き固定になってくれます
しかし、これだけではエラーになる可能性があります
setRequestedOrientationが呼び出された時に、画面の向きが変わったと判定されるとActivityが再構築されて場合によってアプリが強制終了してしまいます
そんな時は、画面の向きが変わっても再構築されないようにAndroidManifest.xmlのactvityタグにandroid:configChangesを指定しましょう
<activity (省略) android:configChanges="keyboardHidden|orientation" >
0 件のコメント:
コメントを投稿