반응형
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
'Android 개발 > Android UI' 카테고리의 다른 글
안드로이드 Webp이용해 이미지 용량 줄이는 방법 (2) | 2024.11.15 |
---|---|
안드로이드 Splash Screen API 적용하기 (3) | 2024.11.15 |
ViewBinding 구현방법 정리 (0) | 2021.04.17 |
RadioButton과 RadioGroup에 대한 정리 #Android (0) | 2020.03.16 |
Android Dialog 구현하는 방법 #Kotlin 버전 다이얼로그 (0) | 2020.01.17 |
Android Checkbox에 Custom 이미지 사용하기 (0) | 2019.09.18 |
DialogFragment 사이즈 조정 및 타이틀 제거 (0) | 2019.08.26 |
업그레이드 된 안드로이드 개발 이미지 추가 방법 #Resource Manager (0) | 2019.07.14 |
Android 버튼 UI에 Ripple효과 넣기 (2) | 2019.06.16 |
CoordinatorLayout과 Behavior (0) | 2019.05.30 |
댓글