[Android Study] 레이아웃 - GridLayout
* GridLayout은 행과 열로 구성된 테이블 화면을 만드는 레이아웃 클래스이다. LinearLayout과 마찬가지로 orientation 속성으로 가로나 세로 방향으로 뷰를 나열하는데, 자동으로 줄바꿈을 해준다.
- orientation: 방향 설정
- rowCount: 세로로 나열할 뷰 개수
- columnCount: 가로로 나열할 뷰 개수
- GridLayout에 추가한 뷰의 크기는 기본으로 wrap_content로 지정된다. 따라서, layout_width, layout_height속성을 설정하지 않아도 된다.
* 특정 뷰의 위치 조정하기
- GridLayout으로 뷰를 배치하면 추가한 순서대로 배치되는데, layout_row, layout_column 속성을 이용하면 특정 뷰의 위치를 조정할 수 있다.
- layout_row: 뷰가 위치하는 세로 방향 인덱스
- layout_column: 뷰가 위치하는 가로 방향 인덱스
- 원래 C버튼이 B바로 오른쪽에 와야 하지만, layout_row="1", layout_column="1'로 속성을 지정해 위치를 변경하였다. 이렇게 하면 그 이후에 추가한 뷰는 지정한 위치 다음부터 나오게 된다.
* 특정 뷰의 크기 확장하기
- 위와 같이 두번째 버튼의 text가 길어져 버튼이 늘어나면 아래 E버튼의 여백이 생긴다. E버튼의 크기를 위 버튼과 같이 맞춰주려면 layout_gravity="fill_horizontal"을 사용하면 된다.
- 또한, 여백에 다음 뷰를 넣어 한 칸에 뷰를 2개 표시할 수도 있다. layout_column과 layout_row를 통해 E, F버튼을 같은 칸에 표시해주었다. 같은 위치에 배치하면 뷰가 겹치므로 F에 layout_gravity="right"를 줘서 오른쪽 정렬도 해줬다.
* 열이나 행 병합하기
- 어떤 뷰가 테이블에서 여러 칸을 차지하게 설정할 수 있다.
- layout_columnSpan: 가로로 열 병합
- layout_rowSpan: 세로로 행 병합
'Study > Android' 카테고리의 다른 글
[Android Study] 이벤트 - 터치 이벤트, 키 이벤트 (1) | 2024.03.13 |
---|---|
[Android Study] 레이아웃 - ConstraintLayout (1) | 2024.03.12 |
[Android Study] 레이아웃 - RelativeLayout (0) | 2024.03.11 |
[Android] 리소스 - 국가별 언어 설정하기 (0) | 2024.03.10 |
[Android Study] 레이아웃 - LinearLayout (0) | 2024.03.10 |