Androidのチュートリアル – Tutorials > Hello, Views | Linear Layout

LinearLayout は、縦方向、横方向に子要素を並べていくコンテナのような定義。

レイアウト作成

HelloLinearLayout という名前で新規にプロジェクトをつくり、res/layout/main.xml にコピペします。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
  <LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1">
    <TextView
      android:text="red"
      android:gravity="center_horizontal"
      android:background="#aa0000"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:layout_weight="1"/>
    <TextView
      android:text="green"
      android:gravity="center_horizontal"
      android:background="#00aa00"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:layout_weight="1"/>
    <TextView
      android:text="blue"
      android:gravity="center_horizontal"
      android:background="#0000aa"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:layout_weight="1"/>
    <TextView
      android:text="yellow"
      android:gravity="center_horizontal"
      android:background="#aaaa00"
      android:layout_width="wrap_content"
      android:layout_height="fill_parent"
      android:layout_weight="1"/>
  </LinearLayout>
  <LinearLayout
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:layout_weight="1">
    <TextView
      android:text="row one"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
    <TextView
      android:text="row two"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
    <TextView
      android:text="row three"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
    <TextView
      android:text="row four"
      android:textSize="15pt"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"/>
  </LinearLayout>
</LinearLayout>

LinearLayout の属性の android:orientation=”vertical” / android:orientation=”horizontal” で縦方向/横方向の並びを指定しています。

LinearLayout が入れ子になっていて、その中に色で塗りつぶしたり、文字を入れた TextView がいくつか並んでいる、という状態です。

レイアウトをセット

HelloLinearLayout.java の onCreate() で res/layout/main.xml を読み込むように指定します。

おそらくそのままでよいでしょう。なっていなければ、以下のように書き換えます。

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
}

setContentView(R.layout.main); は res/layout/main.xml を読み込む、という意味なので、たとえば res/layout/other.xml を作って読み込ませたい場合は R.layout.other.xml を渡せばよいことになります。

Eclipse からシミュレータを起動して、実行すれば、チュートリアルのページのような画面が表示されます。

プロジェクトの作成から main.xml を上書きするだけでとりあえず完成します。

特筆することは無いくらいわかりやすいレイアウトだと思います。

ちょっと属性を弄ってみて、見た目を変えたり壊したり。

リファレンスを眺めるといろいろなメソッドもあるようですが、とりあえずこれで終了。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする