본문 바로가기

프로그래밍/안드로이드

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

레이아웃            

LinearLayout 

RelativeLayout                 ☜ 현재 보는 곳

FrameLayout             

TableLayout            


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

감사합니다.^^ ☞ ☜


안드로이드 RelativeLayout


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

java.lang.Object

  └─ android.view.View

└─android.view.ViewGroup

└─android.widget.RelativeLayout


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

혹시 VIew와 ViewGroup에 대해 궁금하신분은 아래를 클릭해 주세요.

 View강의 보기 ☞  http://jwandroid.tistory.com/154 


그러하니 여러분들은 

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

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


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


RelativeLayout은 자식뷰의 위치를 상대적으로 배치해주는 녀석 입니다

뷰의 배치 방법은 형제 요소에 대해 상대적으로 지정하는 방법과 부모뷰 영역에 상대적인 위치를 지정하는 방법으로 나눌수 있습니다.

 

RelativeLayout은 중첩된 형태의 뷰구성이 가능하기 때문에 사용자 인터페이스를 만들 때 굉장히 유용한 녀석으로 쓰입니다


다음은 RelativeLayout에 사용되는 정렬과 관련된 속성입니다. 크게 형제뷰 기준으로 정렬, 부모뷰 기준으로 정렬 이렇게 두가지로 나뉘게 됩니다.

 

형제뷰를 기준으로 정렬

 

 

 

부모뷰를 기준으로 정렬

 

 

다음 예제를 한번 보겠습니다. ( res/llayout/main.xml )

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   
android:layout_width="fill_parent"
   
android:layout_height="fill_parent">
   
<TextView
       
android:id="@+id/label"
       
android:layout_width="fill_parent"
       
android:layout_height="wrap_content"
       
android:text="Type here:"/>
   
<EditText
       
android:id="@+id/entry"
       
android:layout_width="fill_parent"
       
android:layout_height="wrap_content"
       
android:background="@android:drawable/editbox_background"
       
android:layout_below="@id/label"/>
   
<Button
       
android:id="@+id/ok"
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:layout_below="@id/entry"
       
android:layout_alignParentRight="true"
       
android:layout_marginLeft="10dip"
       
android:text="OK" />
   
<Button
       
android:layout_width="wrap_content"
       
android:layout_height="wrap_content"
       
android:layout_toLeftOf="@id/ok"
       
android:layout_alignTop="@id/ok"
       
android:text="Cancel" />
</RelativeLayout>


java 파일안에 onCreate() 메소드에 다음과 같이 작성하시고 실행.

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