我正在尝试将四个 RelativeLayouts 均等地放置在屏幕上,如下图所示。我似乎无处可去。每个将包含一个文本标签和一个位于其象限中的按钮。我试过将四个放在 RelativeLayout 中,alignComponent 值设置适当,alignParent 值设置为 Left/Right 和 Top/Bottom。我也试过只使用 alignComponent 集和只使用 alignParent 集但无济于事。

它应该是这样的

最佳答案

由于您想使用 RelativeLayout ,最简单的方法是使用垂直和水平支柱(它们是不可见的)并将它们用作四个 RelativeLayout 子项的 anchor 。这种方法肯定比带有权重的嵌套 LinearLayout 更有效。在使用权重嵌套 LinearLayout 之前,您可能应该阅读 this

上面链接中的一个 fragment :



因此,为了将 RelativeLayout 与 struts 一起使用,您的 XML 可能是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >

    <View
        android:id="@+id/horizontalStrut"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_centerVertical="true" />

    <View
        android:id="@+id/verticalStrut"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_centerHorizontal="true" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/horizontalStrut"
        android:layout_toLeftOf="@id/verticalStrut"
        android:background="@color/red" >
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/horizontalStrut"
        android:layout_toRightOf="@id/verticalStrut"
        android:background="@color/black" >
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/horizontalStrut"
        android:layout_toLeftOf="@id/verticalStrut"
        android:background="@color/blue" >
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/horizontalStrut"
        android:layout_toRightOf="@id/verticalStrut"
        android:background="@color/green" >
    </RelativeLayout>

</RelativeLayout>

关于android - 在屏幕上平均放置四个相对布局,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26396908/

10-11 00:59