Android 带有 TextView 的线性布局

Android LinearyLayout with TextView

我正在尝试构建一个 LisView 项目,其中包含一个 LinearLayout 和两个 TextView 对象。第一个对象需要占屏幕宽度的 70%,另一个需要固定在 125dp 宽度。

我正在使用 layout_weight 属性告诉布局使第一个 TextView 适当缩放,但我无法使其正常工作。它在预览框中看起来不错(屏幕截图 1),但在模拟器中,左侧的 TextView 总是调整大小以适合其内容(屏幕截图 2)。

有人知道这是怎么回事吗?我是 Android 开发的新手,所以这让我很困惑。

谢谢!

<?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="?android:attr/listPreferredItemHeight"
    android:padding="6dip">

    <TextView
        android:id="@+id/TitleTextView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:gravity="center_vertical"
        android:text="Headling Rent (pa)"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/ValueTextView"
        android:layout_below="@id/TitleTextView"
        android:layout_width="125dp"
        android:layout_height="fill_parent"
        android:layout_weight="0"
        android:gravity="center_vertical"
        android:text="20,000"
        android:textSize="16sp" />

</LinearLayout>

提供粗细时,宽度(或垂直布局的高度)必须为 0dp。

试试这个:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="?android:attr/listPreferredItemHeight"
              android:weightSum="10"
              android:padding="6dip">
    <TextView
        android:id="@+id/TitleTextView"
        android:layout_width="0dp"
        android:layout_height="fill_parent"
        android:layout_weight="7"
        android:gravity="center_vertical"
        android:text="Headling Rent (pa)"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/ValueTextView"
        android:layout_below="@id/TitleTextView"
        android:layout_width="125dp"
        android:layout_height="fill_parent"
        android:gravity="center_vertical"
        android:text="20,000"
        android:textSize="16sp" />
</LinearLayout>

好的,我已经解决了这个问题。有两件事是不正确的。首先,@user3249477 的回答是正确的,我需要在父 LinearLayout 标签中包含 weightSum,并且我还需要将宽度设置为 0dp 用于应该缩放的文本元素。

然而,这仍然没有真正解决我的问题。实际问题是父 ListView 将其宽度和高度设置为 "wrap_content" 而不是 "fill_parent"。我更新了这个,布局开始工作了。

我将接受@user3249477 的回答,因为他是正确的,但如果有人可以对这个答案投赞成票,我也将不胜感激,因为它确实允许上述修复工作。

谢谢!