我有一个包含两个RelativeLayouts和一个TextViewImageView的问题,我用它来显示ListView中的项目。这些项在android 1.6上正确显示,但在android 2.2上TextViews重叠。
下面是一幅并排显示正确和错误行为的图像:
下面是我的相对论版本的源代码:

<RelativeLayout 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="wrap_content"

    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:layout_marginRight="6dip"
    />

<TextView
    android:id="@+id/secondLine"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:ellipsize="marquee"
    android:singleLine="true"

    android:layout_below="@+id/firstLine"
    android:layout_toRightOf="@id/icon"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
/>

<TextView
    android:id="@+id/firstLine"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"

    android:textStyle="bold"
    android:ellipsize="marquee"
    android:singleLine="true"

    android:layout_toRightOf="@id/icon"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
/>

</RelativeLayout>

知道我做错了什么吗?
谢谢,
菲利普

最佳答案

这和屋大维的答案基本相同,但我认为他并没有很好地解释。
XML文件中有矛盾的语句。你有:

android:layout_alignParentBottom="true"

在两个文本视图中。你还有:
android:layout_below="@+id/firstLine"

在其中一个文本视图中。从本质上说,你试图与一个相对布局的底部对齐,然后试图在它下面放置一些东西。底部没有什么东西。
去掉这个矛盾的逻辑,它就能解决你的问题。

07-24 09:48
查看更多