我的RelativeLayout
包含两个TextView
和一个ImageView
,我用它来显示ListView
中的项目。这些项目在Android 1.6上正确显示,但在Android 2.2上,TextView
重叠。
这是一张并排显示正确和错误行为的图片:
这是我的RelativeLayout的源代码:
<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>
知道我做错了吗?
非常感谢,
菲利普
答案 0 :(得分:6)
这与Octavian的答案基本相同,但我认为他实际上并没有很好地解释它。
您的XML文件中存在矛盾的陈述。你有:
android:layout_alignParentBottom="true"
在两个文字视图中。你也有:
android:layout_below="@+id/firstLine"
在其中一个textview中。基本上,您尝试对齐相对布局的底部,然后尝试在其下面放置一些东西。 “底层没有任何东西。”
删除这个矛盾的逻辑,它应该可以解决你的问题。
答案 1 :(得分:3)
我不是100%确定是否是问题,但在TextView
身份证明为firstLine
的情况下,您似乎正在将其与父母一起调整,就像使用{{1}一样} ID TextView
。我很确定你想说secondLine
。
我不明白为什么它适用于Android 1.6而不是2.2。