我想要实现的是,划分下图中描述的行布局。我应该怎么做才能将行分成3个完全相同的大小和1个未知的大小?X 大小相同,我不知道也不想指定是否不需要...
编辑:按钮位于左侧、中间和右侧。
我想要实现的是,划分下图中描述的行布局。我应该怎么做才能将行分成3个完全相同的大小和1个未知的大小?X 大小相同,我不知道也不想指定是否不需要...
编辑:按钮位于左侧、中间和右侧。
LinearLayout
在 a中使用a RelativeLayout
。将 3 件物品放在里面LinearLayout
并给它们相同的东西weight
。LinearLayout
在 的帮助下将未知项目放在 的右侧RelativeLayout
。
左边的元素将根据右边的宽度对齐自己。这是代码:https ://gist.github.com/3772838
这里有 2 个不同大小的最右边元素的屏幕截图:
科莱凝胶 =)
您的极左尺寸是否有最小宽度?如果是这样,您应该使用水平方向的 LinearLayout。它可以包含 2 个 LinearLayout,一个包含 3 个视图(您的按钮),每个视图(您的按钮)宽度为 0,权重为 1,另一个 LinearLayout 设置了 minimumWidth。您可以为第一个布局指定宽度,而不是 marginRight。
泰德霍普做对了;)
您可以使用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>
<?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>
你 cab 使用 layout_weight 属性。为所有 x 布局赋予相同的权重,为问号赋予不同的权重,直到屏幕按照您的喜好分配