リニアレイアウト (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) 関連の説明
⇒ リニアレイアウトを入れ子にする
⇒ スクロールバーを付ける
⇒ 子の部品の配置 (重み付け)