Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 9面片图像拉伸不正确_Android_Listview - Fatal编程技术网

Android 9面片图像拉伸不正确

Android 9面片图像拉伸不正确,android,listview,Android,Listview,我在ListView中使用一个9补丁图像作为每个列表项的背景。在以前的一个应用程序中,这张图片效果很好,因为每个列表项都有一个设置的高度,所以我可以手动设置列表项的dp高度。但对于该应用程序,每个列表项的高度都是动态的(使用包裹内容),并且对于这个特定的9补丁图像,列表项每次看起来都太高,如下所示: 图像如下所示: 下面是我对每个列表项的XML布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:andr

我在ListView中使用一个9补丁图像作为每个列表项的背景。在以前的一个应用程序中,这张图片效果很好,因为每个列表项都有一个设置的高度,所以我可以手动设置列表项的dp高度。但对于该应用程序,每个列表项的高度都是动态的(使用包裹内容),并且对于这个特定的9补丁图像,列表项每次看起来都太高,如下所示:

图像如下所示:

下面是我对每个列表项的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>


我不认为问题出在9补丁上(确实可以优化)。我认为您为行项目指定了一个固定的高度。我的XML中没有任何内容表明我可以看到您是如何在代码中应用这个的?好像你在覆盖某个地方的填充。另外,正如@BobMalooga所说的,您完全可以优化9-patch,使其更小。这不是在代码中发生的,因为XML预览本身显示的行是这样高的。