0

是否可以像 LinearLayout 一样在 RelativeLayout 中为按钮设置权重?或者有什么方法可以让它成为可能?

肖像

景观

这是我的布局代码

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" >

            <Button
                android:scrollHorizontally="true"
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentTop="true"
                android:text="Button" />

            <Button
                android:scrollHorizontally="true"
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toRightOf="@+id/button3"
                android:text="Button" />

            <Button
                android:scrollHorizontally="true"
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/button4"
                android:layout_alignParentTop="true"
                android:text="Button" />

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />

        </RelativeLayout>

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" >

            <Button
                android:scrollHorizontally="true"
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentTop="true"
                android:text="Button" />

            <Button
                android:scrollHorizontally="true"
                android:id="@+id/button7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentTop="true"
                android:layout_toLeftOf="@+id/button6"
                android:text="Button" />

        </RelativeLayout>
    </LinearLayout>

如果我更改我的 2 个相对布局(左和右),这将是输出

在此处输入图像描述

4

3 回答 3

3

感谢 Renjith 的建议

对不起我的复杂解释,但这是我的代码和输出。

在此处输入图像描述

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >


        <LinearLayout
            android:id="@+id/LinearLayout1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="left" >

            <Button
                android:id="@+id/Button08"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:scrollHorizontally="true"
                android:text="Button" />

            <Button
                android:id="@+id/Button07"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:scrollHorizontally="true"
                android:text="Button" />

            <Button
                android:id="@+id/Button01"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:scrollHorizontally="true"
                android:text="Button" />

            <Button
                android:id="@+id/button4"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:scrollHorizontally="true"
                android:text="Button" />
        </LinearLayout>

        <RelativeLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="Medium Text"
                android:textAppearance="?android:attr/textAppearanceMedium" />
        </RelativeLayout>


        <LinearLayout
            android:id="@+id/LinearLayout1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="right" >

            <Button
                android:scrollHorizontally="true"
                android:id="@+id/button8"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Button" />

            <Button
                 android:scrollHorizontally="true"
                android:id="@+id/button3"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Button" />

            <Button
                android:id="@+id/button6"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:scrollHorizontally="true"
                android:text="Button" />

            <Button

                android:id="@+id/button7"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:scrollHorizontally="true"
                android:text="Button" />
        </LinearLayout>

    </LinearLayout>
于 2012-09-14T07:26:17.203 回答
3

对于要向右对齐的按钮,如果您使用的是 RelativeLayout,您可以使用

android:layout_alignParentRight="true"

将按钮与父级 RelativeLayout 对齐

于 2012-09-14T07:26:17.303 回答
2

做一件事,把你所有的 RelativeLayouts 放在一个 LinearLayout 中。现在根据它们应该占据的大小为RelativeLayouts分配权重。这将解决您的问题。

于 2012-09-14T08:03:44.360 回答