我有一个LinearLayout,其中有四个视图水平布局。第一个和最后一个组件是固定大小的。对于内部的两个视图,我希望它们只共享可用空间的50:50。我将每个视图的权重设置为“1”,但是当视图被布局时,视图的大小取决于它们包含的内容。
以下是我的布局xml供参考。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/status"
android:src="@drawable/white"
android:paddingRight="10dip"
android:layout_height="35dip"
android:layout_width="35dip">
</ImageView>
<TextView android:id="@+id/name"
android:text="Name"
android:layout_height="fill_parent"
android:layout_toRightOf="@id/status"
android:layout_width="wrap_content"
android:layout_weight="1"
android:textSize="25dip">
</TextView>
<TextView android:id="@+id/description"
android:text="Description"
android:layout_toRightOf="@id/name"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:layout_weight="1"
android:textSize="25dip">
</TextView>
<TextView android:id="@+id/time"
android:text="Time"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_toRightOf="@id/description"
android:textSize="25dip">
</TextView>
</LinearLayout>
显然这些不是实际的列名,但我为了保护隐私而更改了它们。此布局由ListView使用,它将每个视图的文本更改为其呈现的任何值。名称和描述字段应该对齐,因为它们都给予剩余屏幕的50%,但当名称较长时,描述就会向右移动。为什么?