我想创建一个带有两个按钮和一个imageview的水平线性布局,这样所有三个元素都占用相同的空间。为此我在所有三个元素中都设置了android:layout_weight="1"
。我还看到所有空间占用的空间三个元素不同,中间元素具有最大空间,第三个元素和第一个元素最小。
<LinearLayout
android:id="@+id/footerpreview"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentBottom="true"
android:visibility="visible"
>
<ImageView
android:id="@+id/face"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/face"
android:background="#2D4487"
android:gravity="center"
android:padding="10dp"
/>
<ImageView
android:id="@+id/gyee"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:src="@drawable/gyee"
android:background="#469AEB"
android:gravity="center"
android:padding="10dp"
/>
<Button
android:id="@+id/submit"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="1"
android:text="Submit"
android:textSize="18dp"
android:textColor="#FFFFFF"
android:gravity="center"
android:layout_gravity="center"
android:background="#F3931D"/>
</LinearLayout>
答案 0 :(得分:2)
您只需要更改
android:layout_width="wrap_content"
到
android:layout_width="0dp"
对于您的所有三个View
,它们将得到平等的布局。
答案 1 :(得分:1)
要保持所有按钮的大小相同,您需要将width属性保持为“fill_parent”。下面是工作的xml。 weightsum应该等于你想要使用的按钮数。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
<Button
android:id="@+id/button3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Button" />
<ImageView
android:id="@+id/face"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:src="@drawable/ic_launcher"
android:background="#2D4487"
android:gravity="center"/>
</LinearLayout>
答案 2 :(得分:0)
您需要为父布局添加1的权重和,并为子节点分配布局权重,将它们之间的空间分隔为您想要的空间。 在您的情况下,您应该为子项分配权重总和3和子项的布局权重1,让它们占用相等的空间