RelativeLayout的等高按钮高度(同时仍然填满所有空间)

时间:2012-09-03 13:00:43

标签: android relativelayout

我有一个类似的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中有一定数量的高度相同的按钮,同时填满所有可用空间?

1 个答案:

答案 0 :(得分:1)

要使用重量,您需要使用LinearLayout,只需使用按钮获取所需空间的线性布局,然后在内部的每个按钮上都有android:layout_height="0dp"android:layout_weight="1"

您不需要将所有权重加总为1,只需考虑具有相同权重的项目具有相同的大小