150 likes | 824 Views
I. F. A. A. A. B. E. android:layout_centerInParent. android:layout_centerHorizontal. android:layout_centerVertical. A. H. A. A. A. D. C. A. G. android:layout_alignParentLeft. android:layout_alignParentRight. android:layout_alignParentTop. android:layout_alignParentBottom. A.
E N D
I F A A A B E android:layout_centerInParent android:layout_centerHorizontal android:layout_centerVertical A H A A A D C A G android:layout_alignParentLeft android:layout_alignParentRight android:layout_alignParentTop android:layout_alignParentBottom A A A B B B B A android:layout_toLeftOf android:layout_toRightOf android:layout_above android:layout_below A A A B A B B B android:layout_alignTop android:layout_alignBottom android:layout_alignLef android:layout_alignRight
w w android:layout_centerInParent android:layout_centerHorizontal Parent w w android:layout_centerVertical android:layout_alignParentLeft W Widget w w w android:layout_alignParentRight android:layout_alignParentTop android:layout_alignParentBottom
A A A B B B android:layout_toLeftOf android:layout_toRightOf android:layout_above Parent A B A B B A B Base Widget android:layout_below android:layout_alignTop android:layout_alignBottom A Widget A A B B android:layout_alignLef android:layout_alignRight
<RelativeLayout> <B android:id=“@+id/b”/> A <A layout_above=“@id/b”/></ReleativeLayout> B
Layout - RelativeLayout • RelativeLayout은 위젯과 부모와의 관계 또는 위젯간의관계를 지정함으로써 뷰를 배치하는 레이아웃이다. • RelativeLayout의 계층도 Java.lang.Object Android.view.View Android.view.ViewGroup Android.widget.RelativeLayout
XML Attributes RelativeLayout안의 Content 배치 예 w w w Parent android:layout_centerInParent android:layout_centerHorizontal android:layout_centerVertical w w w W Widget w android:layout_alignParentLeft android:layout_alignParentRight android:layout_alignParentTop android:layout_alignParentBottom • 위의 Attributes의 값은 true, false 둘 중 하나의 값을 사용해야 한다.
XML Attributes RelativeLayout안의 Widget 간의 배치 예 A A A B B B B Parent A android:layout_toLeftOf android:layout_toRightOf android:layout_above android:layout_below A A B Base Widget A B A B B B A Widget android:layout_alignTop android:layout_alignBottom android:layout_alignLef android:layout_alignRight • 위의 Attributes 의 속성 값은 Resource ID의 값을 사용해야 한다.
XML Attributes RelativeLayout기타 Attributes 예 B android:layout_alignBaseline은 글자의 밑줄에 맞춰 정렬한다. A Parent android:layout_alignBaseline B Base Widget <RelativeLayout> <B android:id=“@+id/b”/> <A layout_toLeftOf=“@id/b” layout_alignWidthParentIfMissing=“true”/> </ReleativeLayout> A Widget A A B android:layout_alignWithParentIfMissing
RelativeLayout 리소스 컴파일러는 빠른 배치를 위해 위젯 간의 관계를 한 번에 읽는다. 따라서 특정 뷰가 다른 뷰의 위치에 종속적일 때 기준이 되는 뷰를 먼저 정의 한다. <RelativeLayout> <B android:id=“@+id/b”/> A <A layout_above=“@id/b”/></ReleativeLayout> B A RelativeLayout을 사용하여 위젯을 정렬 할 경우 위젯의 기준은 항상 Parent 의 (0, 0) 부터 시작을 한다. B A B <A android:layout_toLeftOf=“@id/b”/> <A android:layout_toLeftOf=“@id/b” android:layout_alignTop=“@id/b” />
RelativeLayout예제 I F B E A H D C G
<TextView android:id="@+id/texte" android:layout_width="50px" android:layout_height="50px" android:layout_toRightOf="@id/textb" android:layout_alignBottom="@id/textb" android:text="E" android:background="#ffffff00" android:textColor="#ff000000”/> <TextView android:id="@+id/textf" android:layout_width="50px" android:layout_height="50px" android:text="F" android:layout_alignParentRight="true" android:background="#ff00ff00" android:textColor="#ff000000”/> <TextView android:id="@+id/textg" android:layout_width="50px" android:layout_height="50px" android:text="G" android:layout_alignParentBottom="true" android:background="#ff00ff00" android:textColor="#ff000000”/> <TextView android:id="@+id/texth" android:layout_width="50px" android:layout_height="50px" android:text="H" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:background="#ff00ff00" android:textColor="#ff000000”/> <TextView android:id="@+id/texti" android:layout_width="50px" android:layout_height="50px" android:text="I" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:background="#ff00ff00" android:textColor="#ff000000”/> </RelativeLayout> <?xml version="1.0" encoding="utf-8"?> <RelativeLayoutmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent”> <TextView android:id="@+id/texta" android:layout_width="100px" android:layout_height="100px" android:text="A" android:layout_centerInParent="true" android:background="#ff00ff00" android:textColor="#ff000000”/> <TextView android:id="@+id/textb" android:layout_width="50px" android:layout_height="50px" android:layout_above="@id/texta" android:layout_alignLeft="@id/texta" android:text="B" android:background="#ffff0000" android:textColor="#ff000000”/> <TextView android:id="@+id/textc" android:layout_width="50px" android:layout_height="50px" android:layout_below="@id/texta" android:layout_alignRight="@id/texta" android:text="C" android:background="#ff0000ff" android:textColor="#ff000000”/> <TextView android:id="@+id/textd" android:layout_width="50px" android:layout_height="50px" android:layout_toLeftOf="@id/textc" android:layout_alignTop="@id/textc" android:text="D" android:background="#ff00ffff" android:textColor="#ff000000”/>
Layout - TableLayout • TableLayout은 표 형식으로 차일드를 배치하는 레이아웃이다. • TableRow객체로 구성되며 TableRow객체 하나가 곧 행이다. TableRow안에는 임의 개수의 열이 배치되는데 행 안의 열 하나를 셀이라고 부르며 셀 당 차일드뷰 하나씩 들어간다. • TableRow객체의 높이는 항상 wrap_content로 강제된다. 셀에 배치되는 자식 뷰의layout_width는 fill_parent로 가정된다. • TableLayout의 계층도