我有一个包含两个RelativeLayout
s和一个TextView
的ImageView
的问题,我用它来显示ListView
中的项目。这些项在android 1.6上正确显示,但在android 2.2上TextView
s重叠。
下面是一幅并排显示正确和错误行为的图像:
下面是我的相对论版本的源代码:
<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"
在其中一个文本视图中。从本质上说,你试图与一个相对布局的底部对齐,然后试图在它下面放置一些东西。底部没有什么东西。
去掉这个矛盾的逻辑,它就能解决你的问题。