Android 개발/Android UI
Gravity와 Layout_Gravity 의 구분법 정리
Developer88
2025. 1. 21. 17:11
반응형
XML로 UI를 그리면서,
헷갈리는 속성2가지가 있는데요.
바로 gravity와 layout_gravity입니다.
이 둘은 같은 텍스트가 포함되어 있어,
뭐가 다른건지 차이를 알기 어려운데요.
오늘은 이 두 속성의 차이를 구분해 보겠습니다.
1. Gravity
Gravity는 뷰 내부 콘텐츠의 위치를 지정합니다.
해당하는 뷰의 자식뷰들을 어디에 배치할지를 결정합니다.
아래는 TextView인데요.
TextView내부의 Text들의 배치를 center로 결정하였습니다.
<!-- TextView 내의 텍스트가 중앙에 위치 -->
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:gravity="center"
android:text="Hello" />
아래에서 사용된 gravity="center_vertical|start"는,
버튼 내부에서,
아이콘과 텍스트를,
세로방향에서는 중앙(center_vertical)에 위치시키고
가로로는 시작 부분(start, 왼쪽)에 배치합니다
<Button
android:layout_width="200dp"
android:layout_height="60dp"
android:gravity="center_vertical|start"
android:drawableStart="@drawable/ic_profile"
android:drawablePadding="12dp"
android:paddingStart="16dp"
android:paddingEnd="16dp"
android:text="프로필 설정"
android:textColor="#FFFFFF"/>
2. Layout_Gravity
layout_gravity는,
자식 뷰가 부모 레이아웃내에서,
어디에 위치할지를 결정하는 속성입니다.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp">
<TextView
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_gravity="center" // 부모(LinearLayout) 안에서 중앙에 위치
android:gravity="center" // TextView 안의 텍스트가 중앙에 위치
android:text="Hello"
android:background="@color/gray"/>
</LinearLayout>
이상으로 android xml에서,
gravity와 layout_gravity의 속성차이에 대해 알아보았습니다.
728x90