Layoutproblem与自定义listitem

时间:2012-11-07 22:34:22

标签: android android-layout android-listview

我正在使用自定义列表行的布局。在这个布局中,我在左侧和右侧有一个图像,两个文本框在彼此的顶部。我想将顶部文本框分成两部分。像这样:

-------------------------------
|    |  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>

但这不起作用。我只使用一个拓扑而不是两个。谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:1)

只需将orientation topTexttopText2更改为"horizontal" "horizontal"。由于<LinearLayout android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1"> 是默认方向,因此您可以删除整个属性:

{{1}}

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