속성 |
관련메소드 |
설명 |
orientation |
setOrientation(int) |
horizontal은 수평 vertical은 수직 배치 |
gravity |
setGravity(int) |
x축과 y축 상에 자식을 어떠헥 배치할 건지 지정 |
baselineAligned |
setBaselineAligned(boolean) |
false로 설정되면 자식뷰들의 기준선을 정렬하지 않는다. |
Gravity속성
상수 |
값 |
설명 |
top |
0x30 |
객체를 컨테이너의 상단에 배치, 크기를 변경하지 않음 |
bottom |
0x50 |
객체를 컨테이너의 하단에 배치, 크기를 변경하지 않음 |
left |
0x03 |
객체를 컨테이너의 좌측에 배치, 크기를 변경하지 않음 |
right |
0x05 |
객체를 컨테이너의 우측에 배치, 크기를 변경하지 않음 |
center_vertical |
0x10 |
객체를 컨테이너의 수직의 중앙에 배치, 크기를 변경하지 않음 |
fill_vertical |
0x70 |
객체를 컨테이너의 수직을 채우도록 배치 |
center_horizontal |
0x01 |
객체를 컨테이너의 수평의 중앙에 배치, 크기를 변경하지 않음 |
fill_horizontal |
0x07 |
객체를 컨테이너의 수평을 채우도록 배치 |
center |
0x11 |
객체를 컨테이너의 수평, 수직의 중앙에 배치 |
fill |
0x77 |
객체가 컨테이너를 가득 채우도록 배치 |
가중치
android:layout_weight="1"
가중치는 정수로 표현되며 자식뷰의 중요도를 나타냄
가중치가 높으면 자식뷰가 부모뷰안의 비어있는 공간으로 확장할 수 있다.
LinearLayout의 자식뷰들의 가중치가 각각 1,2,3 이면, 남아있는 공간의 1/6, 2/6, 3/6을 할당받는다.
지정하지않으면 가중치는 0값을 가진 것으로 가정하고 확장되지않는다.
<LinearLayout 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:orientation="horizontal" >
// android:orientation="horizontal" 수평
// android:orientation="vertical" 수직
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/aa"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" >
</Button>
</LinearLayout>