【问题标题】:Need help on creating 4 relative layouts inside a grid layout (2x2) and put one button in the center of each relative layout在网格布局 (2x2) 中创建 4 个相对布局并在每个相对布局的中心放置一个按钮时需要帮助
【发布时间】:2018-08-15 19:22:11
【问题描述】:

我试图创建一个 2x2 网格布局,在网格的每个位置内都有一个相对布局。稍后,在每个位置内,我想​​创建一个按钮并将其置于该按钮所在的相对布局中(在这种情况下是父级,对吗?)

所以,到目前为止,我创建的一切都没有问题,但后来我卡在了按钮的中心。

我已经将android:gravity="center_horizontal"android:layout_alignParentTop="true" 一起使用;

我也尝试过使用android:layout_gravity="center"

似乎没有一个工作。我将在下面发布我的完整 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>

【问题讨论】:

    标签: android android-layout button alignment center


    【解决方案1】:

    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>
    

    【讨论】:

    • 做到了,真的很容易..我还是个学习者,不知道为什么它不起作用。谢谢哥们!
    猜你喜欢
    • 2015-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多