统一占用的三个元素的 LinearLayout space
LinearLayout of three elements with uniform occuped space
我想创建一个带有两个按钮和一个图像视图的水平线性布局,这样所有三个元素都占据我在所有三个 elements.Still 中设置的 android:layout_weight="1"
的相等数量的 space.For我看到 space 被所有三个元素占用与最大的中间元素不同 space 然后是第三个和第一个最小的元素。
<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>
您需要为您的父级布局添加 1 的权重总和,并为子级分配布局权重,根据需要将这个 1 分配给它们 space。
在您的情况下,您应该为父级分配权重总和 3,为子级分配布局权重 1,让它们占据相等的 space
你只需要改变
android:layout_width="wrap_content"
至
android:layout_width="0dp"
对于所有三个 View
,它们将被平均布置。
要使所有按钮保持相同大小,您需要将宽度属性保持为 "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>
我想创建一个带有两个按钮和一个图像视图的水平线性布局,这样所有三个元素都占据我在所有三个 elements.Still 中设置的 android:layout_weight="1"
的相等数量的 space.For我看到 space 被所有三个元素占用与最大的中间元素不同 space 然后是第三个和第一个最小的元素。
<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>
您需要为您的父级布局添加 1 的权重总和,并为子级分配布局权重,根据需要将这个 1 分配给它们 space。 在您的情况下,您应该为父级分配权重总和 3,为子级分配布局权重 1,让它们占据相等的 space
你只需要改变
android:layout_width="wrap_content"
至
android:layout_width="0dp"
对于所有三个 View
,它们将被平均布置。
要使所有按钮保持相同大小,您需要将宽度属性保持为 "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>