【问题标题】:Android - Weird TextView BehaviorAndroid - 奇怪的 TextView 行为
【发布时间】:2012-03-05 15:40:12
【问题描述】:

我有点困惑,我目前正在设计一个 Activity 的 UI,而上述 UI 中的两个 TextView 小部件的行为有点奇怪。

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

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

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

这是附加到我的 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 XML 专家,因此我们将不胜感激。

【问题讨论】:

  • 我认为还有 android:weight... 查看文档。那应该可以解决它。
  • 我目前正在使用android:layout_weight,您在发表评论之前是否还要检查我的问题?
  • 如果它只有两行,我建议使用 2 个水平线性布局,子级的权重相等。
  • 我确实检查了您的问题,但我说的是重量,这与 layout_weight 不同...下面的答案就是...我忘记了总和,但这就是为什么我只提供了评论而不是回答。猜猜下一次,我不会再麻烦了。
  • 在回复之前,我也确实检查了所述“重量”属性的文档,除了我已经与“重量总和”。也许如果您包含一个链接,我就能理解您的干预。

标签: android android-widget textview


【解决方案1】:

我建议使用 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多