1. 테이블 레이아웃은 이름에서 알 수 있듯이 뷰 객체들을 테이블 형태로 행과 열을 맞추어 표시할 수 있게 해 주는 레이아웃이다. 테이블 형태이지만 구분선이 없고 레이아웃의 크기에 한정되어 객체들이 배치되어야 하기 때문에 모든 행의 높이는 wrap_content로 설정되고 한 열의 크기는 가장 큰 객체의 크기에 맞추어 배치된다. 이 때 셀 내용의 크기가 열 폭에 비해 긴 경우는 접어서 표기되기 때문에 적절히 열 폭을 늘리거나 줄이는 작업을 따로 해 줄 필요가 있다.
     
  2. TableLayout의 열에 대한 속성.

    속 성

    의 미

    android:collapseColumns

    숨길 열의 번호

    0부터 시작하는 열의
    번호를
    comma로 구분

    android:shrinkColumns

    숨길 열의 번후

    android:stretchColumns

    늘릴 열의 번호

    android:layout_Columns

    이 뷰가 표시될 열 번호

    android:layout_Columns

    이 뷰가 차지할 열들의 개수


  3. 간단한 성적표를 출력하는 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

+ Recent posts