반응형

테이블 레이아웃 (TableLayout)

테이블 레이아웃은 격자 모양으로 뷰를 배치할 때 사용합니다.

리니어 레이아웃 안에 리니어 레이아웃을 넣는 방식을 사용해도 격자 모양을 만들 수 있지만 테이블 레이아웃을 사용하면 좀 더 쉽게 만들 수 있습니다.

 

테이블 레이아웃에서 각각의 행은 <TableRow> 태그를 이용해 추가할 수 있습니다.

그리고 그 안에 몇 개의 뷰를 추가하는가에 따라 열의 개수가 결정됩니다.

여러 개의 <TableRow>가 추가될 수 있고 각각의 <TableRow> 안에는 여러 개의 뷰가 들어갈 수 있는 구조로 되어 있는 거죠.

두 개의 행이 있고 각각의 행에 두 개의 버튼이 들어있는 2X2 모양의 격자를 만들고 싶다면 다음과 같은 코드를 사용할 수 있습니다.

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button2" />
</TableRow>

<TableRow
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <Button
        android:id="@+id/button3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button3" />

    <Button
        android:id="@+id/button4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button4" />
</TableRow>
</TableLayout>

리니어 레이아웃 안에 리니어 레이아웃을 포함시키는 방식으로 격자 모양을 만들었을 때 테이블 레이아웃과 다른 점은 어떤 것이 있을까요?
 

Q.리니어 레이아웃 안에 리니어 레이아웃을 포함시키는 방식으로 격자 모양을 만들었을 때 테이블 레이아웃과 다른 점은 어떤 것이 있을까요?

 

리니어 - 배치가 까다롭지만 자유롭다.

테이블 - 배치가 간편하지만 제약적이다.


반응형

'안드로이드 개발 > 부스트코스(안드로이드 프로그래밍)' 카테고리의 다른 글

Event  (0) 2019.03.04
스크롤뷰  (0) 2019.03.03
드로어블  (0) 2019.03.03
기본 위젯들  (0) 2019.03.03
프레임 레이아웃(Frame Layout)과 뷰의전환  (0) 2019.03.02
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기