1

我正在为我的自定义列表的行使用布局。在这个布局中,我在左侧和右侧有一个图像,两个文本框相互重叠。我想让顶部的文本框一分为二。像这样:

-------------------------------
|    |  Topleft  |  Topright  |
|ICON|-------------------------
|    |  bottom                |
-------------------------------

我已经有了这个:

<?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">
    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginRight="6dip"
        android:src="@drawable/ic_launcher" />
    <LinearLayout
        android:orientation="vertical"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="fill_parent">

        <LinearLayout 
            android:orientation="vertical" 
            android:layout_width="fill_parent" 
            android:layout_height="0dip"
            android:layout_weight="1">

        <TextView
            android:id="@+id/toptext"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:gravity="center_vertical"
        />
        <TextView
            android:id="@+id/toptext2"
            android:layout_width="0dip"
            android:layout_height="fill_parent"
            android:layout_weight="1"
            android:gravity="center_vertical"
        />
        </LinearLayout>
        <TextView
            android:layout_width="fill_parent"
            android:layout_height="0dip"
            android:layout_weight="1" 
            android:id="@+id/bottomtext"
            android:singleLine="true"
            android:ellipsize="marquee"
        />
    </LinearLayout>
</LinearLayout>

但这行不通。我让它只使用一个 toptext 而不是两个。谁能告诉我我做错了什么?

4

1 回答 1

1

只需orientation将 LinearLayout 的topText和更改topText2"horizontal"。由于"horizontal"是默认方向,您可以删除整个属性:

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="0dip"
    android:layout_weight="1">

但是,如果您没有在 TextView 中使用长字符串,则可以使用一个 RelativeLayout 而不是三个 LinearLayout。

于 2012-11-07T22:36:36.047 回答