4

私はRelativeLayoutsで構成されたアイテムを含むListViewを持っています。これは、リスト項目からの関連するXMLです。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/xx"
        android:gravity="center_vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:layout_centerInParent="true" 
        android:layout_alignParentLeft="true"/>

    <TextView
        android:id="@+id/title"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/xx" />

    <TextView
        android:id="@+id/tag"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/xx"
        android:layout_below="@id/title" />

    <TextView
        android:id="@+id/subtitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/tag"
        android:layout_below="@id/title" />

</RelativeLayout>

Android 2.1(Nexus Oneでテスト済み)では、これは望ましい動作を示しています:Android 1.5 http://img42.imageshack.us/img42/7668/85324076.png

ただし、Android 1.5(HTC Heroでテスト済み)では、次のように表示されます:Android 1.5 http://img257.imageshack.us/img257/2849/72229324.png

[編集]1.6(エミュレーター)では、期待どおりに機能します。

左上の小さな灰色の線は、最初の写真に「xx」と表示されているものなので、垂直方向の中央に配置する必要があります。私が見る限り、XMLはこれを指示しますが、何らかの理由で1.5はそれを無視します。

どうしてこれなの?この違いについては何も見つかりません。layout_center、center、alignParent *の任意の組み合わせを総当たり攻撃してきましたが、役に立ちませんでした...

誰かがこれに光を当てることができますか?ありがとう!

4

3 に答える 3

1

RelativeLayout は 1.6 と 2.0 で多くのバグ修正を受けています :)

于 2010-05-17T18:34:26.843 に答える
1

相対レイアウトlayout_gravityは使用されません。

また、競合する属性centerInParentalignParentLeft.

そのうちの 1 つだけを使用してください。

使用できますlayout_centerVertical="true" layout_alignParentLeft="true"

于 2010-05-17T18:23:19.220 に答える
0

1 つには、テストしている最も古いバージョンでは壊れていて、後のバージョンでは期待どおりに動作するという事実から判断すると、修正されたバグのように聞こえます。

ただし、いくつかの基本的なサンプル スクリーン ショットしか示していないために単純化しすぎていない限り、ネストされた LinearLayouts を使用してこれを行います。

于 2010-05-17T18:18:38.397 に答える