Android - 奇怪的TextView行为

时间:2012-03-05 15:40:13

标签: android android-widget textview

我有点疑惑,我正在设计一个Activity的UI,并且所述UI中的两个TextView小部件表现得有些奇怪。

我已将背景设置为android:background="#CCCCCC"以便更容易地观察行为,当我获得我想要的外观时,最终会将其删除。

TextView都为空时,行为就是我对UI的期望:

enter image description here

但是当TextView填充不同长度的字符串时,宽度会发生变化:

enter image description here

这是附加到我的UI行的代码。

        <TableRow android:weightSum="2" >
            <TextView
                android:id="@+id/tvDate"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#CCCCCC"
                android:gravity="center_vertical|center_horizontal"
                android:padding="4dp"
                android:textColor="#000000" />

            <View
                android:layout_width="8dp"
                android:layout_height="fill_parent" />

            <TextView
                android:id="@+id/tvTime"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="#CCCCCC"
                android:gravity="center_vertical|center_horizontal"
                android:padding="4dp"
                android:textColor="#000000" />
        </TableRow>

到目前为止,我尝试将android:layout_width参数更改为具有不同android:paddingandroid:layout_weight组合的过多值。但是没有什么能给我带来预期的效果(这就是让两个TextView占据相同的空间)。

我远非Android专家,所以任何指针都会非常感激。

1 个答案:

答案 0 :(得分:2)

我建议使用LinearLayout。

<LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:weightSum="1.0"
     android:orientation="horizontal">
<TextView
     android:id="@+id/tvDate"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="0.5"
     android:background="#CCCCCC"
     android:gravity="center_vertical|center_horizontal"
     android:paddingRight="4dp"
     android:textColor="#000000" />
<TextView
     android:id="@+id/tvTime"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="0.5"
     android:background="#CCCCCC"
     android:gravity="center_vertical|center_horizontal"
     android:paddingLeft="4dp"
     android:textColor="#000000" />
</LinearLayout>

<LinearLayout
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:weightSum="1.0"
     android:orientation="horizontal">
<Button
     android:id="@+id/buttonDate"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="0.5"
     android:gravity="center_vertical|center_horizontal"
     android:paddingRight="4dp"
     android:text="Pick Date" />
<Button
     android:id="@+id/buttonTime"
     android:layout_width="0dp"
     android:layout_height="wrap_content"
     android:layout_weight="0.5"
     android:gravity="center_vertical|center_horizontal"
     android:paddingLeft="4dp"
     android:text="Pick Time" />
</LinearLayout>