뷰에 대해 layout_gravity속성을 지정하여 뷰가 부모 내에서 어느 위치에 배치될 것인가를 지정 할 수 있다.
또한 레이아웃에 대해 gravity속성을 지정하여 레이아웃의 내용물(차일드 뷰)이 레이아웃 내에서 어느 위치에 배치될
것인가를 지정할 수 있다.
그렇다면 다음의 코드는 어떠한 결과를 보일까?
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center_horizontal" >
<TextView
android:layout_width="200dip"
android:layout_height="100dip"
android:layout_gravity="left"
android:background="#ff0000"
android:gravity="right|bottom"
android:text="정렬 테스트"
android:textColor="#00ff00"
android:textSize="30sp" />
</LinearLayout>
layout/activity_main.xml 파일 내에서 리니어 레이아웃 안에 텍스트뷰 하나를 배치하였다.
리니어 레이아웃은 gravity속성을 center_horizontal로 설정해 리니어 레이아웃의 내용물인 텍스트뷰가 수평으로
중앙 정렬되게 하였고, 텍스트뷰에는 layout_gravity속성을 left로 두어 리니어 레이아웃 내에서 텍스트뷰의 위치를
왼쪽으로 정렬하였다. 여기까지만 보면 이 두 옵션은 서로 상충된다. 그렇다면 위 예제를 실행했을 때 레이아웃에
설정한 gravity속성이 적용되어질까? 아니면 텍스트뷰에 설정한 layout_gravity속성이 적용되어질까?
결론적으로 위 예제를 실행해보면 텍스트뷰에서 설정한 layout_gravity="left"옵션이 적용됨을 알 수 있다.
따라서, layout에 gravity속성을 설정하고 차일드뷰에는 layout_gravity속성을 동시에 설정하는 경우에는 차일드뷰에서
설정한 layout_gravity속성이 적용됨을 알 수 있다.
'Android > 공개글' 카테고리의 다른 글
cygwin 설치 없이 ndk를 사용해보자 (5) | 2014.09.28 |
---|---|
could not set the project description for (0) | 2014.09.15 |
Android NDK,JNI ] JNI를 사용할 때 발생할 수 있는 문제들 (0) | 2014.03.09 |
Android NDK,JNI ] ndk-build 빌드 문제 관련 (0) | 2014.03.09 |
No active compatible AVD's or devices found (0) | 2014.01.02 |