さまざまな画面密度と向きをサポートするために、/res ディレクトリ内に次のフォルダーがあります。
/layout
/layout-land
/layout-small
/layout-small-land
/layout-large
/layout-large-land
上記の XML で異なるのは、コンポーネント間の配置だけです。たとえば、縦向きの場合:
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linearLayout3"
android:layout_marginLeft="20dp"
android:layout_toRightOf="@+id/linearLayout3" />
一方、風景では、
<LinearLayout
android:id="@+id/linearLayout5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/linearLayout3"
android:layout_marginLeft="60dp" //widens the margin space
android:layout_toRightOf="@+id/linearLayout3" />
ただし、向きを変更する場合は、縦長に対応した XML を使用しています。
AndroidManifest コード スニペットを次に示します。
<activity
android:name=".MyActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" />
Android 2.2 および 3.7 インチ画面のエミュレーターでアプリをテストしました。