在相对布局中对齐网格

时间:2021-01-26 08:28:21

标签: java android-studio android-relativelayout

我是 android studio 的新手,在尝试了不同的布局但没有真正令人满意的成功后,我现在又回到了相对布局。 我想要按钮网格,并且当按钮对齐到相同大小的按钮开头的末尾时,对齐方式可以正常工作,但有时我希望在较大按钮下方有两个较小的按钮,但因为我只能对齐左侧较小的按钮按钮与较大按钮的开头和右侧较小的按钮与较大按钮的结尾,较小按钮之间的空间未对齐并导致各种问题。 我如何在中间对齐这两个按钮?

这是我的 manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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">

    <Button
        android:id="@+id/button"
        android:layout_width="26dp"
        android:layout_height="34dp"
        android:layout_alignTop="@id/enterYouText"
        android:layout_alignParentEnd="true"
        android:layout_toRightOf="@+id/enterYouText"
        android:background="@null"
        android:minWidth="0dp"
        android:minHeight="0dp"
        android:text="SPEAK" />


<ImageButton
        android:id="@+id/throat"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_below="@id/secondPage"
        android:layout_alignTop="@id/head"
        android:layout_alignParentEnd="true"
        android:layout_marginStart="3dp"
        android:layout_marginEnd="0dp"
        android:layout_toRightOf="@id/kopf"
        android:adjustViewBounds="false"
        android:backgroundTint="#FAF6F6"
        android:scaleType="centerInside"
        android:src="@mipmap/picture" />

    <ImageButton
        android:id="@+id/head"
        android:layout_width="110dp"
        android:layout_height="110dp"
        android:layout_below="@id/secondPage"
        android:layout_alignStart="@id/button"
        android:layout_alignTop="@id/xy"
        android:layout_alignParentEnd="false"
        android:adjustViewBounds="false"
        android:backgroundTint="#FAF6F6"
        android:scaleType="centerInside"
        android:src="@mipmap/picture" />



    <Button
        android:id="@+id/secondPage"

        android:layout_width="225dp"
        android:layout_height="23dp"

        android:layout_below="@id/button"
        android:layout_alignStart="@id/button"
        android:layout_alignBottom="@id/enterYouText"
        android:layout_alignParentStart="false"
        android:layout_alignParentTop="false"
        android:layout_alignParentEnd="true"
        android:background="@drawable/buttonsmall"
        android:shadowColor="#A8A8A8"
        android:shadowDx="0"
        android:shadowDy="0"
        android:shadowRadius="5"
        android:text="Second Page"
        android:textColor="#FFFFFF"
        android:textSize="12sp" />

</RelativeLayout>

1 个答案:

答案 0 :(得分:0)

那么,您需要对 align center 做什么(水平和垂直,这意味着整个屏幕的中间)。

android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

或者,

android:layout_centerInParent="true"

这样你就可以把按钮放在中间。假设您在中心放置了一个按钮(称为 A)。现在,您想在该按钮旁边放置另一个按钮。比你还要写

android:layout_toRightOf="@+id/A"

按钮 B 中的上述代码。如果您想在按钮 A 的左侧放置另一个按钮。那就试试

android:layout_toLeftOf="@+id/A"