4

次の項目レイアウトのカスタム リスト ビューがあります。

<?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="?android:attr/listPreferredItemHeight"
    android:paddingBottom="2dip"
    android:paddingTop="2dip" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:paddingLeft="6dip" />

    <TextView
        android:id="@android:id/text1"
        android:layout_width="50sp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@id/icon"
        android:ellipsize="marquee"
        android:gravity="center"
        android:paddingLeft="6dip"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/start_point"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@android:id/text1"
        android:ellipsize="marquee"
        android:paddingLeft="6dip"
        android:paddingRight="6dip"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceSmall" />

    <TextView
        android:id="@+id/end_point"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_below="@id/start_point"
        android:layout_toRightOf="@android:id/text1"
        android:ellipsize="marquee"
        android:gravity="center_vertical"
        android:paddingLeft="6dip"
        android:paddingRight="6dip"
        android:singleLine="true"
        android:textAppearance="?android:attr/textAppearanceSmall" />

</RelativeLayout>

高さが等しくないことを除いて、ほとんどの場合、私が望むように表示start_pointされます。end_point私は多くのことを試しましたが、構文エラーまたは壊れたレイアウトで終了しました。それを達成するための実用的なソリューションはありますか?

4

1 に答える 1

5

start_point と end_point の高さが等しくないことを除いて、ほとんどの場合、私が望むように表示されます。私は多くのことを試しましたが、構文エラーまたは壊れたレイアウトで終了しました。それを達成するための実用的なソリューションはありますか?

次のように、2 つのビューの前に追加のビューをレイアウトに挿入します。TextViewsこれは、 に同じ量のスペースを与えるためのアンカーとして機能しますTextViews

<RelativeLayout>
    // the icon and the first TextView here

    <View android:id="@+id/anchor" android:layout_centerVertical="true" android:layout_alignParentRight="true"      
        android:layout_width="2dp"
        android:layout_height="0dp"/>

    // the two TextView below it
   <TextView
       android:id="@+id/start_point" android:layout_above="@id/anchor" // the rest of the attributes />

   <TextView
       android:id="@+id/end_point" android:layout_below="@id/anchor" // the rest of the attributes />
</RelativeLayout>
于 2012-12-08T18:23:52.423 に答える