需要帮助在网格布局 (2x2) 中创建 4 个相关布局,并将一个按钮放在每个相关布局的中心
Need help on creating 4 relative layouts inside a grid layout (2x2) and put one button in the center of each relative layout
我试图创建一个 2x2 网格布局,在网格中的每个位置内都有一个相对布局。稍后,在每个位置内,我想创建一个按钮并将其置于该按钮所在的相对布局中(在本例中是父级,对吗?)
到目前为止,我创建的所有内容都没有问题,但后来我陷入了按钮居中的问题。
我用 android:gravity="center_horizontal"
和 android:layout_alignParentTop="true"
;
我也尝试过使用 android:layout_gravity="center"
None 似乎有效。我将在下面 post 我的完整 xml 代码 - 尝试将第一个按钮居中放置在第一个相对布局中,但没有成功。我做了一些研究,但找不到适合我的情况的答案。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.victorpietro.musicproject.MainActivity">
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:rowCount="2"
android:columnCount="2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
android:id="@+id/r_layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:gravity="fill">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_layout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:gravity="fill">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_layout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="1"
android:gravity="fill"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_layout4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:gravity="fill"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
</GridLayout>
</android.support.constraint.ConstraintLayout>
从 RelativeLayout
中删除 android:gravity="fill"
并添加 android:layout_gravity="center"
<RelativeLayout
android:id="@+id/r_layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_gravity="center"
android:layout_rowWeight="1"
>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"/>
</RelativeLayout>
我试图创建一个 2x2 网格布局,在网格中的每个位置内都有一个相对布局。稍后,在每个位置内,我想创建一个按钮并将其置于该按钮所在的相对布局中(在本例中是父级,对吗?)
到目前为止,我创建的所有内容都没有问题,但后来我陷入了按钮居中的问题。
我用 android:gravity="center_horizontal"
和 android:layout_alignParentTop="true"
;
我也尝试过使用 android:layout_gravity="center"
None 似乎有效。我将在下面 post 我的完整 xml 代码 - 尝试将第一个按钮居中放置在第一个相对布局中,但没有成功。我做了一些研究,但找不到适合我的情况的答案。
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.victorpietro.musicproject.MainActivity">
<GridLayout
android:id="@+id/gridLayout"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:rowCount="2"
android:columnCount="2"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<RelativeLayout
android:id="@+id/r_layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:gravity="fill">
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_layout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_rowWeight="1"
android:gravity="fill">
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_layout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_row="1"
android:gravity="fill"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/r_layout4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_row="1"
android:gravity="fill"
android:layout_rowWeight="1"
android:layout_columnWeight="1">
<Button
android:id="@+id/button4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button" />
</RelativeLayout>
</GridLayout>
</android.support.constraint.ConstraintLayout>
从 RelativeLayout
中删除 android:gravity="fill"
并添加 android:layout_gravity="center"
<RelativeLayout
android:id="@+id/r_layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="0"
android:layout_columnWeight="1"
android:layout_row="0"
android:layout_gravity="center"
android:layout_rowWeight="1"
>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Button"/>
</RelativeLayout>