본문 바로가기

Android

[Android] TableLayout(테이블 레이아웃)

TableLayout

위젯을 자신이 속한 레이아웃의 상하좌우의 위치를 지정하여 배치하는 레이아웃으로

주로 위젯을 표(행, 열) 형태로 배치할 때 사용한다.

<TableRow> 와 함께 사용되는데 <TableRow>의 개수가 행의 개수가 된다.

열의 개수는 <TableRow> 안에 포함된 위젯의 수로 결정된다.

먼저 레이아웃에 테이블 레이아웃을 넣는 것으로 테이블 레이아웃을 사용할 수 있고

자동으로 TableRow가 4개가 같이 만들어진다.

TableRow마다 버튼을 3개씩 배치시켜보자.

이때 보면 버튼의 끝부분이 비어져있는 모습이 보기 싫을 수 있다.

이때는 테이블 레이아웃의 stretchColumns를 *로 옵션을 두는 것으로

화면에 맞는 크기로 버튼이 배치된다.

버튼을 위와 같이 한 칸 단위로 버튼을 배치하기 때문에

버튼의 길이를 두 칸의 길이로 하거나

버튼을 배치할 때 한 칸 건너뛰고 배치하는 방식이 가능하다.

2번 버튼을 span =2로 주게 되면 버튼의 길이가 버튼 2칸을 차지하게 되고

4번 버튼을 colum = 1을 주게 되면 열의 인덱스가 1이라는 의미로 0 번을 건너뛴 부분에다 배치하겠다는 것이다.

위와 같이 2번 버튼은 2칸을 사용하게 되고

4번 버튼은 0번 인덱스를 건너 1번 인덱스부터 배치된다.

버튼을 배치하다 보면

이렇게 한 줄에 버튼을 여러 개 배치하고 싶은데 화면을 넘어가게 되는 경우가 있다.

이때는 비율을 조정하는 것으로 해결할 수 있다.

해당 버튼의 비율을 1로 지정하면 서로 대응하는 크기로 배치가 된다.