ListView行高太小

时间:2012-07-27 05:08:18

标签: android android-layout

以下是ListView行太短的图像。我尝试过太多组合,让我对StackOverflow感到沮丧。

enter image description here

如何修复此问题并显示整行?这是项目的XML。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:weightSum="1">
    <LinearLayout android:id="@+id/item_left"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:paddingRight="2dp"
        android:paddingLeft="2dp"
        android:background="@drawable/item_left"
        android:layout_gravity="fill_vertical">
        <TextView
            android:id="@+id/status_day"
            android:layout_gravity="center_vertical"
            android:layout_width="40dp"
            android:layout_height="wrap_content"
            android:textColor="@color/item_left_text"
            android:textSize="25sp"/>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:paddingLeft="2dp"
        android:background="@drawable/item_right"
        android:layout_weight="1">
            <TextView
                android:id="@+id/date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/item_right_text"
                android:text="" />

        <TextView
            android:id="@+id/message"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/item_right_text"
            android:text="" />
    </LinearLayout>

    <ImageButton 
        android:id="@+id/options"
        android:background="@drawable/item_right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_menu_moreoverflow_normal_holo_light"
        />

</LinearLayout>

感谢任何帮助。

4 个答案:

答案 0 :(得分:5)

你可以使用它,设置行布局高度

android:layout_height="?android:attr/listPreferredItemHeight"

答案 1 :(得分:3)

我将ImageButton的高度设置为match_parent

这很奇怪地解决了这个问题。叹息。

答案 2 :(得分:3)

您的布局应该按照您的要求进行,我的粘贴与您的布局不同但与之相关检查

  <?xml version="1.0" encoding="utf-8"?>
  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:layout_height="fill_parent"
     android:orientation="vertical" >
     <RelativeLayout
            android:id="@+id/relativeLayout1"
            android:layout_width="fill_parent"
            android:layout_height="60dp" >

       <ImageView
           android:id="@+id/ivArrow"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentRight="true"
           android:layout_centerVertical="true"
           android:layout_marginRight="10dp"
           android:focusable="false"
           android:clickable="false"
           android:src="@drawable/arrow" />
       <RelativeLayout
           android:id="@+id/ivIcon"
           android:layout_width="wrap_content"
           android:layout_height="60dp"
           android:layout_alignParentLeft="true"
           android:layout_centerVertical="true"
           android:focusable="false"
           android:clickable="false"
           android:background="@drawable/oddnumbg" >



           <TextView
               android:id="@+id/tvNo"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_centerHorizontal="true"
               android:layout_marginTop="15dp"
               android:textColor="@color/ReceiptNoLable"
               android:text="No." />

           <TextView
               android:id="@+id/tvReceiptNo"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_centerInParent="true"
               android:singleLine="true"
               android:layout_below="@+id/tvNo"
               android:gravity="center"
               android:textColor="@color/ReceiptSavedColor"
               android:textSize="18dp"
               android:text="1234" />
           </RelativeLayout>

       <TextView
           android:id="@+id/tvSubName"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentTop="true"
           android:layout_marginLeft="15dp"
           android:layout_marginTop="10dp"
           android:layout_toRightOf="@+id/ivIcon"
           android:text="RECEIVED FROM"
           android:gravity="center"
           android:focusable="false"
           android:clickable="false"
           android:textColor="@color/ReceiptNoLable"
            />

       <TextView
           android:id="@+id/tvName"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_alignParentBottom="true"
           android:layout_toRightOf="@+id/ivIcon"
           android:layout_below="@+id/tvSubName"
           android:text="RECEIPT"
           android:layout_marginLeft="15dp"
           android:textColor="@color/ReceiptSavedColor"
           android:textSize="30dp"
           android:focusable="false"
           android:layout_toLeftOf="@+id/tvReceiptPrize"
           android:clickable="false"
           android:singleLine="true"
           android:textAppearance="?android:attr/textAppearanceLarge" />


       <TextView
           android:id="@+id/tvReceiptPrize"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:layout_centerVertical="true"
           android:layout_toLeftOf="@+id/ivArrow"
           android:background="@drawable/myreceiptprizebg"
           android:gravity="center"
           android:singleLine="true"
           android:layout_marginRight="5dp"
           android:textSize="20dp"
           android:textColor="#fff"
           android:text="$84.20" />

        </RelativeLayout>


  </LinearLayout>

答案 3 :(得分:1)

只需设置外部布局的高度,而不是使用fill_parent

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:awesome="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height=50dp <!-- or anything which fits -->