Android:如何使LinearLayout内的所有元素大小相同?

我想创build一个对话框来显示video标题和标签。 在文本下方,我想添加button查看,编辑和删除,并使这些元素相同的大小。 有谁知道如何修改.xml布局文件,以使LinearView内的元素大小相同?

当前的布局文件如下所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtTitle" android:text="[Title]" > </TextView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtTags" android:text="[Tags]" > </TextView> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnPlay" android:text="View"> </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnEdit" android:text="Edit"> </Button> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnDelete" android:text="Delete"> </Button> </LinearLayout> </LinearLayout> 

如果有人可以通过修改粘贴的文件内容来显示解决scheme,我将不胜感激。

谢谢!

在三个android:layout_width="0px"使用android:layout_width="0px"android:layout_weight="1" 。 这表示button应该占用不超过0像素,但他们三个应该分开他们之间的任何额外的空间。 这应该给你你想要的视觉效果。

另一种方法是使android:layout_width="fill_parent"android:layout_weight="1"这也将正常工作!

使用LinearLayout与您所需的weightSum并创buildlayout_weight相等的元素。 这是一个例子…

 <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="5"> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_share_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_search_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_event_note_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_brush_white_36dp"/> <ImageView android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:src="@drawable/ic_menu_white_36dp"/> </LinearLayout> 

所以,所有元素的权重总和是5.这里是截图。

在这里输入图像描述

请注意,使用Google Material Design图标。 希望这是有帮助的。

我写了一个EqualSpaceLayout,我认为可以解决你的问题。 这与LinearLayout类似,但不会扭曲子视图的大小。 检查出来: http : //www.dev-smart.com/archives/225