RelativeLayout은 위젯과 부모와의 관계 또는 위젯끼리의 관계를 지정함으로써 뷰를 배치하는 레이아웃이다.
RelativeLayout의 계층도는 다음과 같습니다.
java.lang.Object └─android.view.View └─android.view.ViewGroup └─android.widget.RelativeLayout |
상대 레이아웃에서 부모 커네이너와의 상대적 위치를 이용하는 속성
속성 |
설 명 |
layout_alignParentTop |
부모 컨테이너의 위쪽과 뷰의 위쪽을 맞춤 |
layout_alignParentBottom |
부모 컨테이너의 아래쪽과 뷰의 아래쪽을 맞춤 |
layout_alignParentLeft |
부모 컨테이너의 왼쪽 끝과 뷰의 왼쪽 끝을 맞춤 |
layout_alignParentRight |
부모 컨테이너의 오른쪽 끝과 뷰의 오른쪽 끝을 맞춤 |
layout_centerHorizontal |
부모 컨테이너의 수평 방향 중앙에 배치함 |
layout_centerVertical |
부모 컨테이너의 수직 방향 중앙에 배치함 |
layout_centerlnParent |
부모 컨테이너의 수평과 수지 방향 중앙에 배치함. |
이미지 출처 : http://jwandroid.tistory.com/m/post/158
상대 레이아웃에서 다른 뷰와의 상대적 위치를 이용하는 속성
속성 |
설 명 |
layout_above |
지정한 뷰의 위쪽에 배치함 |
layout_below |
지정한 뷰의 아래쪽에 배치함 |
layout_toLeftOf |
지정한 뷰의 왼쪽에 배치함 |
layout_toRightOf |
지정한 뷰의 오른쪽에 배치함 |
layout_alignTop |
지정한 뷰의 위쪽과 맞춤 |
layout_alignBottom |
지정한 뷰의 아래쪽과 맞춤 |
layout_alignLeft |
지정한 뷰의 왼쪽과 맞춤 |
layout_alignRight |
지정한 뷰의 오른쪽과 맞춤 |
layout_alignBaseLine |
지정한 뷰의 내용물의 아래쪽 기준선(baseline)을 맞춤 |
이미지 출처 : http://jwandroid.tistory.com/m/post/158
RelativeLayout을 사용한 예제
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.begentgroup.samplesharedpreferences.MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="email" android:id="@+id/textView" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" android:id="@+id/edit_email" android:layout_below="@+id/textView" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:text="password" android:id="@+id/textView2" android:layout_below="@+id/edit_email" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPassword" android:ems="10" android:id="@+id/edit_password" android:layout_below="@+id/textView2" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_alignRight="@+id/edit_email" android:layout_alignEnd="@+id/edit_email" /> <Button style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="save" android:id="@+id/btn_save" android:layout_below="@+id/edit_password" android:layout_alignRight="@+id/edit_password" /> </RelativeLayout>
'Android' 카테고리의 다른 글
(Button) Selector사용 방법 (0) | 2016.05.11 |
---|---|
(Layout) LinearLayout (0) | 2016.04.26 |
(View,ViewGroup) 안드로이드 View와 ViewGroup (0) | 2016.04.26 |
(EditText) 키보드 Enter(엔터) 키 변경 (0) | 2016.04.25 |
(EditText) 포커스 이동, 커서 이동 (0) | 2016.04.25 |