我使用我的ListView的9补丁图像作为每个列表项的背景。在之前的应用程序中,此图像效果很好,因为每个列表项都有一个设置的高度,因此我可以手动设置列表项的dp高度。但对于这个应用程序,每个列表项的高度是动态的(使用wrap-content),并且对于这个特定的9-patch图像,列表项每次看起来都太高,如下所示:
图片如下所示:
以下是每个列表项的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="wrap_content"
android:orientation="horizontal"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@drawable/card">
<LinearLayout
android:layout_width="40dp"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/arrowUp"
android:src="@drawable/arrowup"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="4dp"
android:layout_marginRight="4dp"
android:layout_gravity="center_horizontal"
/>
<TextView
android:id="@+id/scoreText"
android:layout_width = "wrap_content"
android:layout_height="wrap_content"
android:text="492"
android:textColor="#000"
android:layout_gravity="center_horizontal"
/>
<ImageView
android:id="@+id/arrowDown"
android:src="@drawable/arrowdown"
android:layout_width="20dp"
android:layout_height="30dp"
android:layout_marginLeft="4dp"
android:layout_marginTop="0dp"
android:layout_marginRight="4dp"
android:layout_gravity="center_horizontal"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView
android:id="@+id/messageText"
android:text="Message text message text message text"
android:textSize="15sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"/>
<TextView
android:id="@+id/timeText"
android:text="14 hours ago"
android:textSize="10sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>