Home> Tutorial > Hello, Views > Table Layout

Table Layout

TableLayoutクラスは、ViewGroupクラスを継承したものであり、子ビューを表形式(行、列)に配置するものです。

TableLayoutの使い方サンプル

  1. 「HelloTableLayout」という名前のAndroidプロジェクトを作成します。

  2. 「res/layout/main.xml」ファイルを開き、以下のように修正します。

  3. <?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:stretchColumns="1">

    <TableRow>
    <TextView
    android:layout_column="1"
    android:text="Open..."
    android:padding="3dip" />
    <TextView
    android:text="Ctrl-O"
    android:gravity="right"
    android:padding="3dip" />
    </TableRow>

    <TableRow>
    <TextView
    android:layout_column="1"
    android:text="Save..."
    android:padding="3dip" />
    <TextView
    android:text="Ctrl-S"
    android:gravity="right"
    android:padding="3dip" />
    </TableRow>

    <TableRow>
    <TextView
    android:layout_column="1"
    android:text="Save As..."
    android:padding="3dip" />
    <TextView
    android:text="Ctrl-Shift-S"
    android:gravity="right"
    android:padding="3dip" />
    </TableRow>

    <View
    android:layout_height="2dip"
    android:background="#FF909090" />

    <TableRow>
    <TextView
    android:text="X"
    android:padding="3dip" />
    <TextView
    android:text="Import..."
    android:padding="3dip" />
    </TableRow>

    <TableRow>
    <TextView
    android:text="X"
    android:padding="3dip" />
    <TextView
    android:text="Export..."
    android:padding="3dip" />
    <TextView
    android:text="Ctrl-E"
    android:gravity="right"
    android:padding="3dip" />
    </TableRow>

    <View
    android:layout_height="2dip"
    android:background="#FF909090" />

    <TableRow>
    <TextView
    android:layout_column="1"
    android:text="Quit"
    android:padding="3dip" />
    </TableRow>
    </TableLayout>


    TableLayoutはHTMLのテーブル構造に似ています。
    TableLayout要素はHTMLのtableタグに、TableRow要素はHTMLのtrタグのような感じです。

    異なる点は、セルにはどんなView要素も入ることです。
    この例では、TextViewは各セルに使われています。
    いくつかの行の間に、平行線を描画するためにViewが挿入されています。

  4. Javaソースを開き、以下のようにonCreate()メソッドでレイアウトファイル(res/layout/main.xml)がロードされるように修正します。(Eclipseで自動生成されたJavaソースは既にそのようになっています。)

  5. public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    }

    setContentView(int)メソッドは、Activityクラスで指定されたIDのレイアウトファイルを読み込みます。
    「R.layout.main」を指定すると、リソースファイルの「res/layout/main.xml」が指定されることになります。

  6. Androidアプリケーションを実行してみましょう。

  7. 以下のように表示されれば成功です。

    tablelayout.png

Index

Return to page top