0

我想要实现的是,划分下图中描述的行布局。我应该怎么做才能将行分成3个完全相同的大小和1个未知的大小?X 大小相同,我不知道也不想指定是否不需要...

编辑:按钮位于左侧、中间和右侧。

4

5 回答 5

2

LinearLayout在 a中使用a RelativeLayout。将 3 件物品放在里面LinearLayout并给它们相同的东西weightLinearLayout在 的帮助下将未知项目放在 的右侧RelativeLayout

左边的元素将根据右边的宽度对齐自己。这是代码:https ://gist.github.com/3772838

这里有 2 个不同大小的最右边元素的屏幕截图:

http://goo.gl/Nezmn

http://goo.gl/XbQwL

科莱凝胶 =)

于 2012-09-23T19:57:07.860 回答
1

您的极左尺寸是否有最小宽度?如果是这样,您应该使用水平方向的 LinearLayout。它可以包含 2 个 LinearLayout,一个包含 3 个视图(您的按钮),每个视图(您的按钮)宽度为 0,权重为 1,另一个 LinearLayout 设置了 minimumWidth。您可以为第一个布局指定宽度,而不是 marginRight。

泰德霍普做对了;)

于 2012-09-23T19:48:12.183 回答
1

您可以使用android:layout_weight按比例分配额外空间。您希望左侧的三个按钮吸收所有额外的宽度,因此右侧(第四个)按钮的默认权重应为 0。由于您还希望它们具有相同的宽度,最简单的方法是为它们分配 0dp 的宽度和给他们同样的权重:

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

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>
于 2012-09-23T19:54:38.687 回答
0
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:id="@+id/rlayoutParent">


    <RelativeLayout
        android:layout_width="wrap_content"
        android:id="@+id/rlayoutButtons" android:layout_height="wrap_content">

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" android:layout_toRightOf="@+id/button1"/>

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" android:layout_toRightOf="@+id/button2"/>

    </RelativeLayout>


    <RelativeLayout
        android:id="@+id/rlayoutOther"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@+id/rlayoutButtons" android:gravity="right">


        <Button
            android:id="@+id/button4"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Button" />

    </RelativeLayout>

</RelativeLayout>

于 2012-09-23T19:57:25.940 回答
-1

你 cab 使用 layout_weight 属性。为所有 x 布局赋予相同的权重,为问号赋予不同的权重,直到屏幕按照您的喜好分配

于 2012-09-23T19:49:30.813 回答