2011-01-08 88 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代碼和源DontPressWithParentImageViewhere(但你可以從我的截圖中看到,部分工作) 。

我在做什麼錯?

回答

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> 
相關問題