画面の向きによってレイアウトを変更する方法

端末を縦向きにしたときと横向きにしたときでレイアウト(layout)を変える方法です。

縦長の状態をポートレートモード(portrait)、横長の状態をランドスケープモード(landscape)といいます。

基本的に端末・アプリはポートレートモードを基本にしています。
/res以下にlayout-landフォルダを作成し、layoutフォルダにあるmain.xmlと対になるようにランドスケープモード用のレイアウトファイルを配置します。

これで縦向きだとlayoutフォルダにあるxmlファイル、横向きだとlayout-landフォルダにあるxmlファイルが画面レイアウトに使用されます。

フォルダとxmlファイルを設置する以外になにも設定は必要ありません。xmlファイルの内容も特殊な操作は必要ありません。

SDK(エミュレータ)で画面の向きを変更する(縦から横、横から縦)には、『Ctrl+F11』です。

縦画面や横画面に表示モードを固定するには、AndroidManifest.xmlにてActivityにandroid:screenOrientationを指定します。

<activity android:screenOrientation="portrait">

具体的には次のようにします。

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
  <application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name="com.example.MainActivity"
      android:label="@string/app_name" android:screenOrientation="landscape">
………
…
………
    </activity>
  </application>
</manifest>

[参考記事] 横画面に固定する、縦画面に固定する(表示モードの固定)

関連記事

スポンサーリンク

CakePHPのバージョンごとのシステム要件

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る