我想要实现的是,划分下图所示的行布局。我应该怎么做才能将行分成3个完全相同的大小和1个未知的大小? X是相同的大小,我不知道,不想指定它是否没有必要......
编辑:按钮位于左侧,中间和右侧。
答案 0 :(得分:2)
在LinearLayout
内使用RelativeLayout
。将3个项目放在LinearLayout
中,并为它们提供相同的weight
。在LinearLayout
的帮助下将未知项目放在RelativeLayout
的右侧。
左侧元素将根据右侧宽度对齐。 这是代码:https://gist.github.com/3772838
这里有两个不同大小的最右边元素的截图:
Kolay gelsin =)
答案 1 :(得分:1)
你的极左尺寸是否有最小宽度? 如果是这样,您应该使用水平方向的LinearLayout。 它可以包含2个LinearLayout,一个包含3个视图(你的按钮),宽度为0,每个重量为1,另一个LinearLayout设置了minimumWidth。 您可以为第一个布局指定宽度,而不是marginRight。
Ted Hopp说得对;)
答案 2 :(得分: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>
答案 3 :(得分: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>
答案 4 :(得分:-1)
你的cab使用layout_weight属性。给所有的x布局赋予相同的重量和问号不同的重量,直到屏幕像你一样偏离