android:gravity와 android:layout_gravity의 차이
android:layout_gravity
android:layout_gravity
는 「레이아웃내에서의 위치」를 지정할 때 사용합니다.
레이아웃의 각 위젯 (레이아웃)에 대해 개별적으로 설정합니다.
LinearLayout
android:layout_gravity="end"
( LinearLayout
오른쪽에 배치) android:gravity="end"
(텍스트가 오른쪽으로 이동(후술)) android:layout_gravity="end"
(.android:layout_width="match_parent"
( android:layout_gravity="end"
오른쪽에 배치) LinearLayout
( android:layout_gravity="center"
의 중앙에 배치) 잡지만, 위의 레이아웃 파일의 내용입니다.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/layout_gravity_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="android:layout_gravity"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
<!-- 親レイアウト(水色背景) -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="10dp"
android:background="#bbdefb"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_gravity_title">
<!-- Button01 -->
<Button
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_margin="10dp"
android:backgroundTint="#f06292"
android:text="Button01" />
<!-- Button02 -->
<Button
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:backgroundTint="#f06292"
android:gravity="end"
android:text="Button02" />
<!-- Text001 -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="Text001"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
<!-- Text002 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:text="Text002"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
<!-- 子レイアウト(白背景) -->
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="200dp"
android:layout_height="60dp"
android:layout_gravity="center"
android:background="@android:color/white">
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
LinearLayout
android:gravity
는 「위젯(레이아웃) 내부에 있는 부품의 위치」를 지정할 때 사용합니다.
부품이란, 「버튼의 텍스트」나 「레이아웃내의 위젯(레이아웃)」을 가리키고 있습니다.
android:gravity
(버튼의 텍스트를 오른쪽에 배치) android:gravity="end"
( android:gravity="end"
를 지정하면 TextView가 오른쪽으로 이동) android:layout_width="match_parent"
(레이아웃 내부 위젯을 모두 아래에 배치) <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/layout_gravity_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="android:gravity"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="10dp"
android:background="#bbdefb"
android:orientation="vertical"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_gravity_title">
<!-- Button01 -->
<Button
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:backgroundTint="#f06292"
android:gravity="end"
android:text="Button01" />
<!-- Text001 -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="end"
android:text="Text001"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
<!-- 子レイアウト(白背景) -->
<LinearLayout
android:layout_width="200dp"
android:layout_height="60dp"
android:background="@android:color/white"
android:gravity="bottom">
<!-- Text002 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text002"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
<!-- Text003 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text003"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
android:gravity="bottom"
, android:layout_gravity
로 설정할 수 있는 값은 여기 에서 확인할 수 있습니다.여러 값을 설정하는 방법
오른쪽 중앙과 같이 여러 값을 지정할 때 android:gravity
를 사용합니다.
|
(Button의 텍스트를 「우측 중앙」에 배치) android:gravity="end|center"
(흰색 배경 레이아웃의 「우측 중앙」에 배치) android:layout_gravity="end|center"
(흰색 배경 레이아웃의 「중앙 아래」에 배치) <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/layout_gravity_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:text="複数の値を設定"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintTop_toTopOf="parent" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="170dp"
android:layout_marginTop="10dp"
android:background="#bbdefb"
android:orientation="vertical"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/layout_gravity_title">
<!-- Button01 -->
<Button
android:layout_width="200dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:backgroundTint="#f06292"
android:gravity="end|center"
android:text="Button01" />
<FrameLayout
android:layout_width="200dp"
android:layout_height="80dp"
android:layout_gravity="center"
android:background="@android:color/white">
<!-- Text001 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|center"
android:text="Text001"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
<!-- Text002 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:text="Text002"
android:textColor="#f06292"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
Reference
이 문제에 관하여(android:gravity와 android:layout_gravity의 차이), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yass97/items/dc0ee55f6000481c7a3e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)