2011-01-08 11 views
2

CyanogenModコールログのようなレイアウトを作成したいのですが、いくつかのビューを持つリストアイテムと、フォーカスを別々に取得するクリック可能なボタンがあります(screenshot)。代わりに、私はthis messを得ます。私のAndroid ListViewアイテムのレイアウトはひどいです

はここに私のコードです:参考

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingLeft="4dip" 
    > 

    <DontPressWithParentImageView android:id="@+id/play_icon" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:paddingLeft="14dip" 
     android:paddingRight="14dip" 
     android:layout_alignParentRight="true" 
     android:gravity="center_vertical" 
     android:src="@drawable/sym_play" 
     android:background="@drawable/play_background" 
     /> 

    <View android:id="@+id/divider" 
     android:layout_width="1px" 
     android:layout_height="fill_parent" 
     android:layout_marginTop="5dip" 
     android:layout_marginBottom="5dip" 
     android:layout_toLeftOf="@id/play_icon" 
     android:layout_marginLeft="2dip" 
     android:background="@drawable/divider_vertical_dark" 
     /> 

    <TextView android:id="@+id/file_info" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_marginBottom="8dip" 
     android:layout_marginTop="-10dip" 
     android:layout_marginLeft="10dip" 
     android:layout_alignWithParentIfMissing="true" 
     android:singleLine="true" 
     android:ellipsize="marquee" 
     android:textAppearance="?android:attr/textAppearanceSmall" 
     android:textStyle="bold" 
     /> 

    <TextView android:id="@+id/file_title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_above="@id/file_info" 
     android:layout_alignWithParentIfMissing="true" 
     android:layout_marginBottom="-10dip" 
     android:layout_marginLeft="4dip" 
     android:textAppearance="?android:attr/textAppearanceLarge" 
     android:singleLine="true" 
     android:ellipsize="marquee" 
     android:gravity="center_vertical" 
     /> 
</RelativeLayout> 

、私が始めたコードはherehereあり、そしてDontPressWithParentImageViewにソースがhereである(ただし、一部が機能していることを、私のスクリーンショットから見ることができるように) 。

私は間違っていますか?

答えて

1

代わりRelativeLayout 2つのLinearLayout Sを使用することによって解決:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:paddingLeft="4dip" 
    > 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     > 

     <TextView android:id="@+id/file_title" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="4dip" 
      android:textAppearance="?android:attr/textAppearanceLarge" 
      android:singleLine="true" 
      android:ellipsize="marquee" 
      android:gravity="center_vertical" 
      /> 

     <TextView android:id="@+id/file_info" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="10dip" 
      android:layout_marginBottom="6dip" 
      android:singleLine="true" 
      android:ellipsize="marquee" 
      android:textAppearance="?android:attr/textAppearanceSmall" 
      /> 
    </LinearLayout> 

    <View android:id="@+id/divider" 
     android:layout_width="1px" 
     android:layout_height="fill_parent" 
     android:layout_marginTop="5dip" 
     android:layout_marginBottom="5dip" 
     android:layout_marginLeft="2dip" 
     android:background="@drawable/divider_vertical_dark" 
     /> 

    <DontPressWithParentImageView 
     android:id="@+id/play_icon" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:paddingLeft="10dip" 
     android:paddingRight="10dip" 
     android:gravity="center_vertical" 
     android:src="@drawable/sym_play" 
     android:background="@drawable/play_background" 
     /> 
</LinearLayout> 
関連する問題