[Android] 안드로이드 레이아웃 - GridLayout(그리드 레이아웃) 사용 방법

2022. 6. 17. 21:28·Android/Design
반응형

안녕하세요. 이번에는 GridLayout의 사용법을 알아보겠습니다.

 

앞서 설명했었던 것 처럼 Grid와 Table은 비슷한 Layout 입니다.

TableLayout의 사용법은 아래의 게시판에서 확인하실 수 있습니다.

 

[Android] 안드로이드 레이아웃 - TableLayout(테이플 레이아웃) 사용 방법

안녕하세요. 이번에는 TableLayout을 사용해보고자 합니다. TableLayout과 다음에 알아볼 GridLayout은 아래와 같이 전화의 키패드, 앱 목록, 런처 홈의 아이콘 배치와 같이 각 View들을 격자 형태로 배치하

jdroid.tistory.com

 

 

GridLayout은 TableLayout의 TableRow같은 View가 따로 없습니다.  그러면 GridLayout의 속성을 알아보겠습니다.

GridLayout의 속성
<!-- GridLayout의 속성 -->
android:rowCount="3"				<!-- 로우의 개수 지정 -->
android:columnCount="3"				<!-- 컬럼의 개수 지정 -->
android:orientation="horizontal"	<!-- View의 방향 지정 -->

<!-- GridLayout의 View 속성 -->
android:layout_column=""			<!-- view의 Column 지정 -->
android:layout_row=""				<!-- view의 Row 지정 -->
android:layout_columnSpan=""		<!-- view가 차지할 Column 수 -->
android:layout_rowSpan=""			<!-- view가 차지할 Row 수 -->
android:layout_columnWeight=""		<!-- view의 Column 가중치 -->
android:layout_rowWeight=""			<!-- view의 Row 가중치 -->

GridLayout은 TableLayout보다 속성이 많은데 예제를 통해 사용해 보도록 하겠습니다~!

 

GridLayout 예제
<GridLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#2a222222"
    android:columnCount="3">

    <TextView
        android:id="@+id/view1"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#7461ac"
        android:text="view1" />

    <TextView
        android:id="@+id/view2"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#999999"
        android:text="view2" />

    <TextView
        android:id="@+id/view3"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#a015bb"
        android:text="view3" />

    <TextView
        android:id="@+id/view4"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#113366"
        android:text="view4" />

    <TextView
        android:id="@+id/view5"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#77aa00"
        android:text="view5" />

    <TextView
        android:id="@+id/view6"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#FF7AA0"
        android:text="view6" />

    <TextView
        android:id="@+id/view7"
        android:layout_row="2"
        android:layout_rowSpan="2"
        android:layout_rowWeight="1"
        android:layout_columnWeight="1"
        android:background="#FFE080"
        android:text="view7" />

    <TextView
        android:id="@+id/view8"
        android:layout_rowWeight="1"
        android:layout_column="1"
        android:layout_columnSpan="2"
        android:layout_columnWeight="1"
        android:background="#7CF1D1"
        android:text="view8" />

    <TextView
        android:id="@+id/view9"
        android:layout_row="4"
        android:layout_rowWeight="1"
        android:layout_column="1"
        android:layout_columnSpan="2"
        android:layout_columnWeight="1"
        android:background="#CBE886"
        android:text="view9" />
</GridLayout>

GridLayout에 columnCount값을 3을 줬습니다. 이렇게 3을 주게 되면 view가 자동으로 다음 row로 넘어가게 됩니다.

그리고 View들에게 각각 columnWeight와 rowWeight를 1씩 주어 View들이 화면에 꽉차도록 만들었습니다. 균등하게 View들을 배치하고 싶으시다면 columnWeight와 rowWeight 속성을 활용하시면 됩니다!

view7은 android:row="2", android:rowSpan="2"

view8은 androd:column="1", android:columnSpan="2"

view9는 android:row="3", android:column="1", android:columnSpan="2"

이렇게 설정하여 View들의 모양에 변화를 주었습니다.

여기서 주의할 점은 rowSpan을 설정하려면 row를 지정해 주어야하고, columnSpan을 사용하려면 해당 View의 Column을 지정해 주어야 합니다.

 

 

 

 

 

 

이번에는 GridLayout에 대해 알아보았습니다. TableLayout과 GridLayout 비슷하면서 다르다고 생각이 들지 않나요? 사용하다보면 이 디자인은 TableLayout이 편하겠구나 저 디자인은 GridLayout이 편하겠구나 느껴지실거에요.

다음에는 뷰들을 겹쳐 사용하는 FrameLayout에 대해 알아보겠습니다!!

 

다른 궁금한 점, 잘못된 점이 있다면 댓글을 남겨주세요!

반응형

'Android > Design' 카테고리의 다른 글

[Android] 안드로이드 RecyclerView(리사이클러뷰) 사용 방법  (0) 2022.07.03
[Android] 안드로이드 레이아웃 - FrameLayout(프레임 레이아웃) 사용 방법  (0) 2022.06.29
[Android] 안드로이드 레이아웃 - TableLayout(테이블 레이아웃) 사용 방법  (0) 2022.06.17
[Android] 안드로이드 레이아웃 - ConstraintLayout(컨스트레인트 레이아웃) 사용 방법  (0) 2022.06.15
[Android] 안드로이드 레이아웃 - RelativeLayout(렐러티브 레이아웃) 사용 방법  (0) 2022.06.13
'Android/Design' 카테고리의 다른 글
  • [Android] 안드로이드 RecyclerView(리사이클러뷰) 사용 방법
  • [Android] 안드로이드 레이아웃 - FrameLayout(프레임 레이아웃) 사용 방법
  • [Android] 안드로이드 레이아웃 - TableLayout(테이블 레이아웃) 사용 방법
  • [Android] 안드로이드 레이아웃 - ConstraintLayout(컨스트레인트 레이아웃) 사용 방법
W_JIN
W_JIN
안드로이드 개발을 공부하는 3년차 개발자입니다.
  • W_JIN
    W.JIN
    W_JIN
  • 전체
    오늘
    어제
    • 전체 (24)
      • Android (23)
        • Design (10)
        • Libraries (8)
        • Others (5)
      • Flutter (0)
        • Design (0)
        • Libraries (0)
        • Others (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    Android
    layout
    android studio
    COLOR
    색상
    permission
    iCon
    다운로드
    contacts
    사용법
    constraint
    아이콘
    뷰
    Grid
    연락처
    안드로이드 스튜디오
    종류
    사용 방법
    contact
    fonts
    권한
    frame
    parcelize
    안드로이드
    textview
    사용방법
    설정
    방법
    linear
    레이아웃
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
W_JIN
[Android] 안드로이드 레이아웃 - GridLayout(그리드 레이아웃) 사용 방법

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.