1. 레이아웃 종류
레이아웃 | 설명 |
제약 레이아웃 |
- 제약 조건 기반 모델 |
리니어 레이아웃 |
- 박스 모델 |
상대 레이아웃 |
- 규칙 기반 모델 |
프레임 레이아웃 |
- 싱글 모델 |
테이블 레이아웃 |
- 격자(Grid) 모델 |
※ 화면을 만들기 위해서는 xml 파일 1개 + java 파일 1개로 이루어져야 함
2. Table Layout
테이블 레이아웃은 격자 모양으로 뷰를 배치할 때 사용합니다.
리니어 레이아웃 안에 리니어 레이아웃을 넣는 방식을 사용해도 격자 모양을 만들 수 있지만 테이블 레이아웃을 사용하면 좀 더 쉽게 만들 수 있습니다.
- Table Layout은 Table Row를 만들고, 그 안에 버튼 등을 넣는 방식
<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>
- android:stretchColumns = "0,1,2" : 세 개의 칼럼을 stretch 해서 남은 공간을 채워달라
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="0,1,2">
</TableLayout>
- android:layout_span = "2" : 칼럼 두 칸 만큼 차지하겠다.
- android:layout_column = "1" : 칼럼 두 번째 위치에 위치시키겠다.
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="이름 : " />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_span="2"/>
</TableRow>
<TableRow
android:layout_height="wrap_content"
android:layout_width="match_parent" >
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="예"
android:layout_column="1"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="아니요"
android:layout_column="2" />
</TableRow>
</TableLayout>
'Android' 카테고리의 다른 글
[Android] 안드로이드 : 이벤트 처리 이해하기 (0) | 2019.12.01 |
---|---|
[Android] 안드로이드 : 스크롤뷰 만들기 (0) | 2019.11.30 |
[Android] 안드로이드 : 쉐이프 드로어블 만들기 (0) | 2019.11.28 |
[Android] 안드로이드 : 상태 드로어블 만들기 (0) | 2019.11.26 |
[Android] 안드로이드 : 주요 위젯 (0) | 2019.11.26 |
댓글