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

2022. 6. 17. 20:34·Android/Design
반응형

안녕하세요. 이번에는 TableLayout을 사용해보고자 합니다.

 

TableLayout과 다음에 알아볼 GridLayout은 아래와 같이 전화의 키패드, 앱 목록, 런처 홈의 아이콘 배치와 같이 각 View들을 격자 형태로 배치하는 Layout입니다. TableLayout과 GridLayout의 속성이 약간의 차이가 있어 용도에 맞는 Layout을 사용하시면 됩니다.

TableLayout의 속성
<!-- TableLayout에서 설정하는 속성 -->
android:stretchColumns="0, 1, 2"	<!-- 지정한 컬럼의 넓이를 확대함 -->
android:shrinkColumns="3"			<!-- 지정한 컬럼의 넓이를 축소함 -->
android:collapseColumns="0">		<!-- 지정한 컬럼을 접음 -->

<!-- TableRow에 포함되는 View들에게 설정하는 속성 -->
android:layout_span="2"		<!-- View가 컬럼을 2개 차지 -->
android:layout_column="2"	<!-- View의 컬럼 위치 지정 -->

TableLayout에서는 Row를 TableRow를 사용하여서 정해줍니다. 즉 TableRow는 TableLayout의 Row가 되고 TableRow에 있는 View들이 각각의 Column이 되게됩니다.
위를 보면 TableLayout의 속성은 많지 않습니다. 이러한 속성들을 이용하여 간단한 예제를 만들어 보도록 하겠습니다.

 

TableLayout 예제
<TableLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:collapseColumns="3"
    android:stretchColumns="*">

    <TableRow>

        <TextView
            android:id="@+id/view1"
            android:layout_height="50dp"
            android:layout_column="1"
            android:background="#7461ac"
            android:text="view1" />

        <TextView
            android:id="@+id/view2"
            android:layout_height="50dp"
            android:background="#999999"
            android:text="view2" />

        <TextView
            android:id="@+id/view3"
            android:layout_height="50dp"
            android:background="#a015bb"
            android:text="view3" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/view4"
            android:layout_height="50dp"
            android:background="#113366"
            android:text="view4" />

        <TextView
            android:id="@+id/view5"
            android:layout_height="50dp"
            android:background="#77aa00"
            android:text="view5" />

        <TextView
            android:id="@+id/view6"
            android:layout_height="50dp"
            android:background="#FF7AA0"
            android:text="view6" />

        <TextView
            android:id="@+id/view7"
            android:layout_height="50dp"
            android:background="#FFE080"
            android:layout_column="4"
            android:text="view7" />
    </TableRow>

    <TableRow>

        <TextView
            android:id="@+id/view8"
            android:layout_height="50dp"
            android:background="#7CF1D1"
            android:text="view8" />

        <TextView
            android:id="@+id/view9"
            android:layout_height="50dp"
            android:background="#CBE886"
            android:text="view9" />

        <TextView
            android:id="@+id/view10"
            android:layout_height="50dp"
            android:background="#8ABDE6"
            android:text="view10" />

        <TextView
            android:id="@+id/view11"
            android:layout_height="50dp"
            android:layout_column="4"
            android:layout_span="2"
            android:background="#CAA6D1"
            android:text="view11" />
    </TableRow>
</TableLayout>

먼저 android:stretchColumns="*"을 설정하여 모든 column의 넓이를 넓혔습니다.

그리고 android:collapsColumns="3"을 주어 3번째 컬럼을 접어서 보이지 않게 만들었습니다. 참고로 컬럼은 0부터 시작하게 됩니다.

 

그리고 자식View들의 속성을 설정하여 이미지와 같이 표현하였습니다.

 1번 째 Row에서 View1의 경우 android:layout_column을 1로 설정하였고 3번째로 밀려난 view3는 접혀서 보이지 않게 되었습니다.

 2번째 Row에서는 view7의 android:layout_column을 4로 설정하여 사라지지 않고 나타나게 되었습니다.

 3번째 Row에서는 view11에 android:layout_column을 4로 설정하여 나타내고 android:layout_span을 2로 설정하여 column 4와 5를 차지하여 view가 표현되었습니다.

 

 

 

 

다음에는 GridLayout의 사용방법을 알아보겠습니다!

 

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

반응형

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

[Android] 안드로이드 레이아웃 - FrameLayout(프레임 레이아웃) 사용 방법  (0) 2022.06.29
[Android] 안드로이드 레이아웃 - GridLayout(그리드 레이아웃) 사용 방법  (0) 2022.06.17
[Android] 안드로이드 레이아웃 - ConstraintLayout(컨스트레인트 레이아웃) 사용 방법  (0) 2022.06.15
[Android] 안드로이드 레이아웃 - RelativeLayout(렐러티브 레이아웃) 사용 방법  (0) 2022.06.13
[Android] 안드로이드 레이아웃 - LinearLayout(리니어 레이아웃) 사용 방법  (0) 2022.05.25
'Android/Design' 카테고리의 다른 글
  • [Android] 안드로이드 레이아웃 - FrameLayout(프레임 레이아웃) 사용 방법
  • [Android] 안드로이드 레이아웃 - GridLayout(그리드 레이아웃) 사용 방법
  • [Android] 안드로이드 레이아웃 - ConstraintLayout(컨스트레인트 레이아웃) 사용 방법
  • [Android] 안드로이드 레이아웃 - RelativeLayout(렐러티브 레이아웃) 사용 방법
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
  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
W_JIN
[Android] 안드로이드 레이아웃 - TableLayout(테이블 레이아웃) 사용 방법
상단으로

티스토리툴바