Android 9面片图像拉伸不正确
我在ListView中使用一个9补丁图像作为每个列表项的背景。在以前的一个应用程序中,这张图片效果很好,因为每个列表项都有一个设置的高度,所以我可以手动设置列表项的dp高度。但对于该应用程序,每个列表项的高度都是动态的(使用包裹内容),并且对于这个特定的9补丁图像,列表项每次看起来都太高,如下所示: 图像如下所示: 下面是我对每个列表项的XML布局Android 9面片图像拉伸不正确,android,listview,Android,Listview,我在ListView中使用一个9补丁图像作为每个列表项的背景。在以前的一个应用程序中,这张图片效果很好,因为每个列表项都有一个设置的高度,所以我可以手动设置列表项的dp高度。但对于该应用程序,每个列表项的高度都是动态的(使用包裹内容),并且对于这个特定的9补丁图像,列表项每次看起来都太高,如下所示: 图像如下所示: 下面是我对每个列表项的XML布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr
<?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>
我不认为问题出在9补丁上(确实可以优化)。我认为您为行项目指定了一个固定的高度。我的XML中没有任何内容表明我可以看到您是如何在代码中应用这个的?好像你在覆盖某个地方的填充。另外,正如@BobMalooga所说的,您完全可以优化9-patch,使其更小。这不是在代码中发生的,因为XML预览本身显示的行是这样高的。