リニアレイアウト (LinearLayout)

リニアレイアウト (LinearLayout) は、View (ボタン、テキスト等) を縦または横一列に並べて配置するために使用します。

リニアレイアウト (LinearLayout) をレイアウトリソースファイル (xml ファイル) に記述する方法について説明します。

レイアウトリソースファイル (xmlファイル)の記述

リニアレイアウト (LinearLayout) をレイアウトリソースファイルに記述する場合、リソースを定義する xml ファイル(main.xml等) に以下を記述します。
(以下の記述は、ボタン 3 個を縦一列に並べて配置する場合の例です。)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical" >

  <!-- ここに 並べて表示する View を記述する -->
  <Button
    android:id="@+id/btn1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button 1"/>
  <Button
    android:id="@+id/btn2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button 2"/>
  <Button
    android:id="@+id/btn3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Button 3"/>

</LinearLayout>

※ 「Button 1/2/3」の文字列は、本来 string.xml に定義すべきですが、説明を簡単にするために直接記述しています。

リニアレイアウト (LinearLayout) の主な属性の意味は、以下の通りです。

属性 説明
orientation 縦に並べて配置する場合は vertical、横に並べて配置する場合は horizontal を指定します。
layout_width 幅を設定します。match_parent を設定すると親のレイアウトいっぱいの幅にすると言う意味です。この場合は画面の幅と同じ幅に設定されます。
layout_height 高さを設定します。設定は layout_width と同じです。

ソースファイル (javaファイル) の記述

ソースファイルでは、先ほど記述したレイアウトリソースファイル (xml) のレイアウトを設定します。

public class EditTextActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // レイアウトリソースを設定する
        setContentView(R.layout.main);
    }
}

setContentView メソッドで、この Activity クラスに先ほど記述したレイアウトを設定します。これにより、xml ファイルで記述したレイアウトが表示されます。


リニアレイアウト (LinearLayout) 関連の説明

リニアレイアウトを入れ子にする
スクロールバーを付ける
子の部品の配置 (重み付け)