TableLayout

yugyeongKim·2022년 10월 1일
0

안드로이드

목록 보기
6/13

이건 걍 다
layout_width: wrap_content
컨텐츠의 크기에 맞춰서 레이아웃 크기가 정해진다.

열(columns)의 갯수

<TableLayout ...>
        <TableRow ...>
            <TextView ...  androidid:text="1" />
            <TextView ...  androidid:text="2" />
            <TextView ...  androidid:text="3" />
            <TextView ...  androidid:text="3" />
        </TableRow>
        <TableRow ...>
            <TextView ...  androidid:text="4" />
            <TextView ...  androidid:text="5" />
            <TextView ...  androidid:text="6" />
        </TableRow>
        
    </TableLayout>

열(Column)의 갯수보다 적은 수의 셀(Cell)을 가진 TableRow는 모자란 셀(Cell) 영역을 빈 공간으로 남겨두게 됩니다.

행의 높이

<TextView
	android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="1"
    android:padding="50dp"android:textSize="25sp" />

열과 마찬가지로 가장 높은 cell의 높이에 맞춰진다.

stretchColumns

늘이고자 하는 열(Columns)의 인덱스 지정

  • 인덱스는 0부터 시작
  • 하나 이상의 열을 지정하려면 ,를 이용(ex: 0,2
  • 모든 열을 지정할 시 *

- 모든열 지정

<TableLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintVertical_weight="1.5"
        android:layout_weight="6"
        android:weightSum="4">

        <TableRow
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="0dp">
            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="1"
                android:textSize="25sp" />
            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="2"
                android:textSize="25sp" />

            <TextView
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:gravity="center"
                android:text="3"
                android:textSize="25sp" />
        </TableRow>

        <TableRow>...</TableRow>
        <TableRow>...</TableRow>
               


    </TableLayout>

모든 열이 늘어나길 원해서 *를 사용한다.

<TableLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintVertical_weight="1.5"
        android:layout_weight="6"
        android:stretchColumns="*"
        android:weightSum="4">

- 특정 인덱스 지정

<TableLayout
	...
    android:stretchColumns="0">

지정된 인덱스에 cell추가

<TextView
	...
    android:text="0"
    android:layout_column="3"/>

셀 합치기

<TableRow>
	<TextView
    	android:text="">
	<TextView
    	...
        android:text="0"
        android:layout_span="2"/>
</TableRow>

참고:
https://recipes4dev.tistory.com/138

0개의 댓글