- 테이블 레이아웃은 이름에서 알 수 있듯이 뷰 객체들을 테이블 형태로 행과 열을 맞추어 표시할 수 있게 해 주는 레이아웃이다. 테이블 형태이지만 구분선이 없고 레이아웃의 크기에 한정되어 객체들이 배치되어야 하기 때문에 모든 행의 높이는 wrap_content로 설정되고 한 열의 크기는 가장 큰 객체의 크기에 맞추어 배치된다. 이 때 셀 내용의 크기가 열 폭에 비해 긴 경우는 접어서 표기되기 때문에 적절히 열 폭을 늘리거나 줄이는 작업을 따로 해 줄 필요가 있다.
- TableLayout의 열에 대한 속성.
속 성
의 미
값
android:collapseColumns
숨길 열의 번호
0부터 시작하는 열의
번호를 comma로 구분android:shrinkColumns
숨길 열의 번후
android:stretchColumns
늘릴 열의 번호
android:layout_Columns
이 뷰가 표시될 열 번호
android:layout_Columns
이 뷰가 차지할 열들의 개수
- 간단한 성적표를 출력하는 TableLayout을 만들어보자.
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1" > <TableRow> <TextView android:text="@string/kor" android:padding="5dip" /> <TextView android:text="@string/eng" android:background="#fff" android:padding="5dip" /> <TextView android:text="@string/mat" android:padding="5dip" /> </TableRow> <TableRow> <TextView android:text="90" android:padding="3dip" /> <TextView android:text="91" android:padding="3dip" /> <TextView android:text="92" android:padding="3dip" /> </TableRow> </TableLayout>
위에서 가운데 영어 성적인 1번째 (0번 부터)열의 크기를 stretchColumns로 늘렸기 때문에 국어,수학 외의 나머지 공간을 모두 채워 넣게 된 것이다. 그리고 padding은 안쪽 여백을 설정 하는 것으로 dip 단위는 해상도에 종속되지 않게 물리적인 화면의 크기에 비례하는 수치이다.
'Programming > ANDROID' 카테고리의 다른 글
Layout 중첩 - Multi Page (6) | 2011.03.29 |
---|---|
ViewGroup - RelativeLayout (2) | 2011.03.29 |
ViewGroup - FrameLayout (1) | 2011.03.28 |
ViewGroup - LinearLayout (2) | 2011.03.28 |
뷰 그룹(View Group) - Layout (1) | 2011.03.28 |