RelativeLayoutを扱う
RelativeLayoutを使うときのポイント
layout_alignParent***
: 親に対する配置layout_center***
: 中央寄せlayout_toStartOf
/layout_toEndOf
: 他のビューの左右layout_above
/layout_below
: 他のビューの上下layout_align***
: 他のビューとの辺の揃え
1. 親に対する配置 (layout_alignParent*
)
ビューを親のRelativeLayout
の端に寄せて配置するプロパティ。
layout_alignParentTop
: 親の上端に配置。layout_alignParentBottom
: 親の下端に配置。layout_alignParentStart
: 親の左端に配置。layout_alignParentEnd
: 親の右端に配置。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:text="alignParentEnd" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="alignParentBottom" />
</RelativeLayout>
2. 中央寄せ (layout_center*
)
RelativeLayout
の中央に配置する。
layout_centerVertical
: 垂直方向(上下)の中央に配置。layout_centerHorizontal
: 水平方向(左右)の中央に配置。layout_centerInParent
: 垂直・水平両方の中央に配置。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="Center\nIn\nParent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Center\nHorizontal" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="Center\nVertical" />
</RelativeLayout>
3. 他のビューに対する配置 (前後・上下)
他のビューのIDを基準に、ビューを配置する。
layout_toStartOf
: 指定したビューの左側に配置。layout_toEndOf
: 指定したビューの右側に配置。layout_above
: 指定したビューの上側に配置。layout_below
: 指定したビューの下側に配置。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_view_target"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:text="target" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toStartOf="@id/text_view_target"
android:padding="8dp"
android:text="toStartOf" />
</RelativeLayout>
4. 他のビューとの辺の揃え (layout_align*
)
指定したビューの端に自身の端を揃えて配置する。
layout_alignTop
: 指定したビューの上端に揃える。layout_alignBottom
: 指定したビューの下端に揃える。layout_alignStart
: 指定したビューの左端に揃える。layout_alignEnd
: 指定したビューの右端に揃える。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_view_target"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="target" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/text_view_target"
android:padding="4dp"
android:text="alignTop" />
</RelativeLayout>
参考
最終更新: 2025.9.11