0

我有一个这样的 Android 应用程序:

<LinearLayout 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"
    android:orientation="vertical">

    <RelativeLayout
        android:id="@+id/toplayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.90" >
        <Button
            android:id="@+id/button_1_of_10"
            android:layout_width="70dip"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="@string/text_0x1701" />
        <Button
            android:id="@+id/button_2_of_10"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignRight="@+id/button_1_of_10"
            android:layout_below="@+id/button_1_of_10"/>

        <!--Another 8 buttons-->

    <RelativeLayout
            android:id="@+id/contentpane"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:layout_toRightOf="@+id/button_1_of_10" >
        </RelativeLayout>
    </RelativeLayout>

    <RelativeLayout 
        android:id="@+id/actionbuttonslayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.10">
    </RelativeLayout>
</LinearLayout>

我需要 10 个按钮来填充从顶部到页脚的整个高度(0.1 加权的 RelativeLayout),而所有按钮保持相同的高度。但是,我想知道是否有一种与 LinearLayout 中的 layout_weight 等效的方法,但是对于 RelativeLayouts,因为在 LinearLayouts 中嵌套权重并不高效。我并不是真的在寻找其他解决方案,因为我还有一些东西要尝试,但我想知道这是否可能?

为了清楚起见,我的问题是:是否可以在 RelativeLayout 中拥有多个高度相等的 Button,同时填满所有可用空间?

4

1 回答 1

1

要使用权重,您需要使用 LinearLayout,只需使用按钮进行线性布局占用您想要的空间,然后在里面的每个按钮上android:layout_height="0dp" 还有一个android:layout_weight="1"

您不需要将所有重量相加为 1,只需考虑具有相同重量的物品具有相同的尺寸

于 2012-09-03T13:08:09.327 回答