Androidのランドスケープモードを無効にするには?
Androidアプリの一部のビューでランドスケープモードを無効にするにはどうすればいいですか?
907
3
Androidアプリの一部のビューでランドスケープモードを無効にするにはどうすればいいですか?
AndroidManifest.xml内のアクティビティに、
android:screenOrientation="portrait"
を追加します。例えば、以下のようになります。EDIT: これは非常に人気のある回答になっているので、私は非常に罪悪感を感じています。なぜなら、強制ポートレートは、頻繁に適用される問題に対して正しい解決策であることはほとんどないからです。 強制ポートレートの主な注意点です。
また アプリの回転以外にも、アクティビティの破壊/再生を引き起こす可能性のある アプリの回転以外にも、マルチタスクのように避けられないものも含めて、アクティビティの破棄/再作成を引き起こすものはたくさんあります。バンドルや
retainInstance
フラグメントの使い方を覚えましょう。そのため、ほとんどのアプリは、電話機のセンサー、ソフトウェア、物理的な構成に任せて、ユーザーがアプリをどのように操作したいかを自分で判断する必要があります。しかし、「センサー」の向きに関するデフォルトの動作に満足できない場合は、いくつかのケースについて検討する必要があるかもしれません。
nosensor
を使用します。これにより、ほとんどのタブレットでは横向きになり、ほとんどの電話では縦向きになりますが、それでもほとんどの「普通の」アプリにはお勧めできません(電話の横向きのソフトキーボードで入力したいユーザーもいますし、多くのタブレットユーザーは縦向きで読書をします。portrait
よりもsensorPortrait
の方が良いかもしれません。これは、タブレットでよくある上下逆さまの縦長を可能にします。私はこの記事を読むまで、
AndroidManifest.xml
ファイルの切り替えを知らなかったので、私のアプリでは代わりにこれを使っています。/platform/android
ディレクトリに、
AndroidManifest.xmlを作成しました (生成されたものからコピーしました)。 そして、すべてのアクティビティ要素に、
android:screenOrientation="
portrait`" を追加します。