본문 바로가기

Programming/Android강의

안드로이드 강의09- Android TableLayout(테이블 레이아웃)



Android TableLayout(테이블 레이아웃)


테이블 레이아웃은 지난 강의에서 배운 Grid와 매우 비슷합니다.

GridLayout이 TableLayout의 단점을 보완해서 만든 레이아웃인 만큼 비슷할 수 밖에 없을 겁니다.

오늘은 TableLayout을 이용하여 표를 그려보도록 하겠습니다.


Table를 사용할 일이 있으면 GridLayout를 사용하는 것이 더욱 심플한 코드로 동일하게 구현 가능할 거 같습니다.

그래도 알고 넘어가야 하니 간단한 표를 그려보도록 할께요


오늘 코딩해볼 내용은 아래와 같은 표입니다. 코드가 상당히 길어질 것 같아서

두줄만 구현하였습니다.


TableLayout



<TableLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:stretchColumns="*"
    >

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:padding="1dp"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="1dp"
            android:text="number"
            android:background="#777777"
            android:textSize="12sp"
            android:gravity="center_horizontal"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="1dp"
            android:text="이름"
            android:background="#777777"
            android:textSize="12sp"
            android:gravity="center_horizontal"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="��"
            android:background="#777777"
            android:textSize="12sp"
            android:gravity="center_horizontal"
            />
    </TableRow>

    <TableRow
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#000000"
        android:padding="1dp"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="1dp"
            android:text="1"
            android:background="#ffffff"
            android:textSize="12sp"
            android:gravity="center_horizontal"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="1dp"
            android:text="number"
            android:background="#ffffff"
            android:textSize="12sp"
            android:gravity="center_horizontal"
            />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="number"
            android:background="#ffffff"
            android:textSize="12sp"
            android:gravity="center_horizontal"
            />
    </TableRow>

</TableLayout>


TableLayout은 어려운게 없습니다. 특징을 보자면

TableRow라는 것을 통해서 한줄한줄 구현해야 합니다.

stretchColumns 옵션이 있는데 이것은 특정 컬럼을 자동으로 늘려주는 역할을 합니다.

저는 옵션으로 *(모든것)을 주었더니 3개의 열이 모두 동일한 사이즈로 늘어 났습니다. 이것을 쉼표로 구분하여 인덱스로 줄수도 있는데 인덱스는 0부터 시작합니다.


0,2을 주게 되면 첫번째 세번째 열의 너비가 늘어나고 가운데 열은 줄어드는 것을 확인 할 수 있을겁니다.


이상 TableLayout에 대해서 알아보았습니다.