2010-01-14 57 views
2

我有一個相對複雜的佈局,我想成爲Android的ListView的「行」,我無法獲得右鍵菜單,大部分元素顯示在每一行上。Android中的ListView中的「複雜」行的XML幫助

下面是該行應該如下所示:左邊和右邊的圖標(9×13)

有一個圖標(50dip X 50dip)。圖標應該左右對齊,分別用中間的變量文本。

問題是使用我當前的XML佈局將我最右側的圖標(9 x 13)從可見區域推出,我的嘗試修復都失敗了。

意見建議?? !

[替代文本] [1]

[1]:Hosted by imgur.com

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" android:padding="5dip"> 
    <LinearLayout android:orientation="horizontal" 
     android:gravity="center" android:layout_width="fill_parent" 
     android:layout_height="60dip"> 
     <LinearLayout android:orientation="horizontal" 
      android:layout_width="fill_parent" android:minHeight="55dip" 
      android:padding="5dip" android:layout_height="fill_parent"> 
      <ImageView android:id="@+id/img" android:layout_width="50dip" 
       android:layout_height="50dip" android:layout_marginRight="6dip" /> 
      <TextView android:ellipsize="end" android:textColor="#454545" 
       android:id="@+id/ttt" android:textSize="18sp" android:gravity="center_vertical" 
       android:layout_width="fill_parent" android:layout_height="fill_parent" /> 
     </LinearLayout> 
     <ImageView android:layout_height="13dip" android:minWidth="9dip" 
      android:layout_width="fill_parent" android:id="@+id/disclosure" /> 
    </LinearLayout> 
</LinearLayout> 

回答

3

你爲什麼不使用RelativeLayoutalignParentLeftalignParentRight屬性?我認爲這會更簡單,並使用更少的LayoutManagers。類似以下內容:請注意,這假定行的高度爲50dip,而圖像的高度爲50x50。

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_height="50dip" 
    android:layout_width="fill_parent" 
    android:layout_weight="0"> 
<ImageView 
    android:layout_height="50dip" 
    android:layout_width="50dip" 
    android:layout_alignParentLeft="true" 
    android:layout_centerVertical="true"/> 
<TextView 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_centerInParent="true" 
    android:text="some text"/> 
<ImageView 
    android:layout_height="50dip" 
    android:layout_width="50dip" 
    android:layout_alignParentRight="true" 
    android:layout_centerVertical="true"/> 
</RelativeLayout> 
+1

添加到TextView的一件事是android:layout_margin =「50dp」,在其他情況下,長文本將與圖像重疊。 – alex2k8 2010-01-14 12:23:38

+2

另一個一般的佈局提示:你可以使用'TextView'的'android:leftDrawable'屬性(或'setCompoundDrawablesWithIntrinsicBounds'方法)來避免在左邊需要'ImageView'。 – 2010-01-14 19:41:25