본문 바로가기
App/Layout

GridLayout

by hyoungbin 2023. 12. 28.

GridLayout 이란?

차원 격자무늬 형태의 레이아웃으로 행과 열의 집합형태로 구성된 레이아웃입니다.

GridLayout 속성 - orientation / rowCount / columnCount

속성 설명
orientation 자식 뷰(View)들이 GridLayout의 각 셀 영역에 배치되는 방향을 결정합니다. 
orientation = "horizontal" : 수평방향으로 뷰(View)를 정렬합니다.
orientation = "vertical" : 수직방향으로 뷰(View)를 정렬합니다.
rowCount GridLayout의 행의 개수를 지정합니다.
columnCount GridLayout의 열의 개수를 지정합니다.

 

layout_gravity

layout_gravity 속성은 다른 레이아웃 공부를 하면서 익숙하게 봤던 속성입니다. GridLayout의 자식 뷰(View)들이 가지는 속성인 layout_gravity 속성을 통해 해당 자식 뷰(View)가 셀의 어느 위치에 배치될지를 결정할 수 있습니다. 속성값별로 배치되는 영역은 아래를 참조 바랍니다.

속성값 설명
layout_gravity = "top" 셀의 상단에 배치
layout_gravity = "bottom" 셀의 하단에 배치
layout_gravity = "left" 셀의 좌측에 배치
layout_gravity = "right" 셀의 우측에 배치
layout_gravity = "center_vertical" 수직으로 중앙에 배치
layout_gravity = "center_horizontal" 수평으로 중앙에 배치
layout_gravity = "center" 셀의 정중앙에 배치
layout_gravity = "fill_horizontal" 셀에 배치되는 뷰(View)의 너비를 셀의 너비에 맞춤
layout_gravity = "fill_vertical" 셀에 배치되는 뷰(View)의 높이를 셀의 높이에 맞춤
layout_gravity = "fill" 셀의 전체 크기에 맞게끔 뷰(View)의 크기를 맞춤

출처 : https://lktprogrammer.tistory.com/136

GridLayout  특징

 TableLayout의 단점을 보완한 레이아웃으로 LinearLayout 또는FrameLayout과 같은 다른 레이아웃의 장점을 포함하는 레이아웃입니다. GridLayout을 사용할 시 다른 레이아웃과 중첩으로 사용할 필요가 없어 메모리 사용량을 줄일 수 있다는 장점이 있습니다.

 

직접 구현해보기

fragment_eight.xml

 

1                                                                           2

 

3                                                                                              4

 

5                                                                                        6

 

EightFragment.xml

 

실행화면

'App > Layout' 카테고리의 다른 글

RecyclerView  (0) 2024.01.01
TabLayout  (0) 2023.12.28
TableLayout  (0) 2023.12.28
ConstraintLayout(계산기 모양 만들어보기)  (0) 2023.12.27
RelativeLayout  (0) 2023.12.27