본문 바로가기

프로그래밍/안드로이드

[안드로이드/Android] 안드로이드 레이아웃 TableLayout

레이아웃            

LinearLayout 

RelativeLayout         

FrameLayout             

TableLayout            ☜ 현재 보는곳

 

읽기 전에 손가락 한번 꾸~욱 _(__)_ ♥

감사합니다.^^ ☞ ☜

안드로이드 TableLayout


TableLayout의 상속 계층도는 다음과 같습니다.

java.lang.Object

  └─ android.view.View

└─android.view.ViewGroup

└─android.widget.LinearLayout

└─android.widget.TableLayout


위의 그림에서 보시는것 처럼 LinearLayout은 View와 ViewGroup를 상속받고 있습니다.

( 혹시 VIew와 ViewGroup에 대해 궁금하신분은 [ View강의 보기 ] 를 클릭해 주세요. )


그러하니 여러분들은 

"아 View를 상속받았으니 화면에 보여질수 있겠구나!" 

"아~ ViewGroup를 상속받았으니 다른 View를 포함할 수 있겠구나!" 


이런 생각을 하시면 됩니다.
 

TableLayout은 바둑판 모양의 표형태로 뷰를 배치하는 레이아웃입니다. 


TableLayout은 줄(행)과 칸(열)이라는 개념을 가지고 있습니다. 

안드로이드에서 줄(행)은 TableRow로 라는 클래스를 이용합니다. 이 레이아웃은 한칸안에 하나의 뷰가 들어 가게 됩니다.


이 레이아웃은 좀 특이한 속성을 가지고 있습니다.

  • 자식 뷰는 특정한 폭(layout_width)를 가질수 없으며 폭(Width)는 항상 MATCH_PARENT 입니다.

  • 하지만 높이(layout_height)의 속성은 정의가 가능합니다. 기본값은 WRAP_CONTENT로 되어 있습니다. 

  • TableRow의 높이(height)는 항상 WRAP_CONTENT를 가집니다.


좀 특이하기는 합니다. 

간단한 예제로 살펴보도록 하겠습니다.


res/layout/main.xml 

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
android:layout_width="fill_parent"
   
android:layout_height="fill_parent"
   
android:stretchColumns="1">

   
<TableRow>
       
<TextView
           
android:layout_column="1"
           
android:text="Open..."
           
android:padding="3dip" />
       
<TextView
           
android:text="Ctrl-O"
           
android:gravity="right"
           
android:padding="3dip" />
   
</TableRow>

   
<TableRow>
       
<TextView
           
android:layout_column="1"
           
android:text="Save..."
           
android:padding="3dip" />
       
<TextView
           
android:text="Ctrl-S"
           
android:gravity="right"
           
android:padding="3dip" />
   
</TableRow>

   
<TableRow>
       
<TextView
           
android:layout_column="1"
           
android:text="Save As..."
           
android:padding="3dip" />
       
<TextView
           
android:text="Ctrl-Shift-S"
           
android:gravity="right"
           
android:padding="3dip" />
   
</TableRow>

   
<View
       
android:layout_height="2dip"
       
android:background="#FF909090" />

   
<TableRow>
       
<TextView
           
android:text="X"
           
android:padding="3dip" />
       
<TextView
           
android:text="Import..."
           
android:padding="3dip" />
   
</TableRow>

   
<TableRow>
       
<TextView
           
android:text="X"
           
android:padding="3dip" />
       
<TextView
           
android:text="Export..."
           
android:padding="3dip" />
       
<TextView
           
android:text="Ctrl-E"
           
android:gravity="right"
           
android:padding="3dip" />
   
</TableRow>

   
<View
       
android:layout_height="2dip"
       
android:background="#FF909090" />

   
<TableRow>
       
<TextView
           
android:layout_column="1"
           
android:text="Quit"
           
android:padding="3dip" />
   
</TableRow>
</TableLayout>



public void onCreate(Bundle savedInstanceState) {
   
super.onCreate(savedInstanceState);
    setContentView
(R.layout.main);
}


결과를 한번 보겠습니다.

 



궁금하신 내용은 댓글로 달아 주세요.^^

 

레이아웃            

LinearLayout 

RelativeLayout         

FrameLayout             

TableLayout            ☜ 현재 보는곳


덧글]

개발하시다가 온몸이 찌뿌둥하시면 아래 동영상을 따라 스트레칭을 한번하세요.


1. 목디스크 예방을 위한 목운동    ☞  http://jwandroid.tistory.com/192 

2. 손목터널증후군 손목스트레칭으로 예방합시다.     ☞  http://jwandroid.tistory.com/193

3. 개발자 여러분 허리를 세우세요 - 척추체조 1번     ☞  http://jwandroid.tistory.com/194

4. 개발자 여러분 허리를 세우세요 - 척추체조 2번     ☞  http://jwandroid.tistory.com/195

5. 개발자 여러분 허리를 세우세요 - 척추체조 3번     ☞   http://jwandroid.tistory.com/196

6. 개발자 여러분 허리를 세우세요 - 척추체조 4번     ☞  http://jwandroid.tistory.com/197