2

にアイテムを表示するために使用する2 つの とRelativeLayoutを含むに問題があります。Android 1.6 では正しく表示されますが、Android 2.2 ではが重なって表示されます。TextViewImageViewListViewTextView

次の画像は、正しい動作と正しくない動作を並べて示しています。

代替テキスト

そして、これが私の 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>

私が間違っていることは何ですか?

どうもありがとう、

フィリップ

4

2 に答える 2

7

これは基本的にオクタヴィアンの答えと同じですが、彼が実際にそれをうまく説明したとは思いません。

XMLファイルに矛盾するステートメントがあります。あなたが持っている:

android:layout_alignParentBottom="true"

両方のテキストビューで。あなたも持っています:

android:layout_below="@+id/firstLine"

テキストビューの1つで。基本的に、相対レイアウトの下部に揃えようとし、その下に何かを配置しようとします。「底の下」には何もありません。

この矛盾するロジックを削除すると、問題が解決するはずです。

于 2010-11-21T14:10:37.567 に答える
3

それが問題であるかどうかは100%わかりませんが、IDを使用するTextViewと、IDを使用する場合と同じように、 IDfirstLineを親の下部に揃えているように見えます。代わりにあなたが言いたかったと確信しています。TextViewsecondLineandroid:layout_alignParentTop="true"

Android 1.6で動作しているのに、2.2では動作していない理由がわかりません。

于 2010-11-21T14:01:19.323 に答える