4

我从Fedor 的 ListView implementation开始。这是我的 ListView 项的 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/image"
      android:layout_width="50dip"
      android:layout_height="50dip" android:src="@drawable/stub" android:scaleType="centerCrop"/>
<TextView
      android:id="@+id/name"
      android:layout_width="0px"
      android:layout_height="0px"
      android:layout_weight="0" android:textSize="20dip" android:layout_marginLeft="10dip"/>
<TextView
      android:id="@+id/address"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:layout_weight="1"  android:textSize="16dip" android:layout_marginLeft="10dip"/>

</LinearLayout>

我在设备上看到的是 ImageView 和从左到右依次显示的两个 TextView。

我要的是一直右边的ImageView(这已经是正确的),ImageView右边的名称TextView(这是正确的),以及地址TextView,在名称TextView下面。我一直无法弄清楚如何正确布局。

请注意,我知道我可以在名称中添加一个新行并在其后包含地址文本,但我希望这两个元素具有不同的字体大小,所以这不是一个选项。非常感谢!

4

1 回答 1

6

您需要设置 LinearLayout 的方向并实现您想要做的,您需要使用其中的几个。在伪代码中,您必须执行以下操作:

<LinearLayout
    android:orientation="horizontal"
    ...>
    <ImageView
        android:id="@+id/image"
        ... />
    <LinearLayout
        android:orientation="vertical"
        ...>
        <TextView
             android:id="@+id/name"
             ...>

        <TextView
             android:id="@+id/address"
             ...>
    </LinearLayout>
</LinearLayout>
于 2010-12-30T22:59:27.050 回答