Android 9面片图像作为背景的问题

Android 9面片图像作为背景的问题,android,listview,nine-patch,Android,Listview,Nine Patch,我有一个列表视图结构,相对布局使用 奇偶元素的交替背景图像。我正试着去设置 通过计算位置,可以动态绘制背景。信息技术 使用普通位图效果很好。但是当我试图使用 它破坏了用户界面,所有的元素都被扭曲了。什么 我做错了吗?这可能是ninepatch映像是如何创建的,还是如何创建的 与普通图像相比,使用ninepatch图像有不同的方法 位图 我的列表视图XML如下所示 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xml

我有一个列表视图结构,相对布局使用 奇偶元素的交替背景图像。我正试着去设置 通过计算位置,可以动态绘制背景。信息技术 使用普通位图效果很好。但是当我试图使用 它破坏了用户界面,所有的元素都被扭曲了。什么 我做错了吗?这可能是ninepatch映像是如何创建的,还是如何创建的 与普通图像相比,使用ninepatch图像有不同的方法 位图

我的列表视图XML如下所示

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content" android:id="@+id/id01"
       android:background="@drawable/my_9patch_bg_image">
       <ImageView  />
       <RelativeLayout>
         <ImageView  />
          <TextView  />
          <TextView  />
       </RelativeLayout>
</RelativeLayout>



也许这个解决方案可以解决我的问题。虽然我必须试一试,但确实如此

您可以像使用普通可拉丝布一样使用九块布。我想你的9补丁本身有问题。在android sdk的/tools目录中有draw 9补丁工具。它将帮助您更正您的9补丁绘图,并针对不同大小的视图预览它。

因为一年来没有人回答您的问题。。。 我有同样的问题,你需要设置零填充(即使你不需要它)


祝您好运。

选择除角以外的所有边作为拉伸边

您可以使用此xml作为背景显示为cardview

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:dither="true" android:shape="rectangle">
        <corners android:radius="2dp" />
        <solid android:color="#e2e2e2" />
    </shape>
</item>
<item android:bottom="2dp">
    <shape android:dither="true" android:shape="rectangle">
        <corners android:radius="2dp" />
        <solid android:color="@color/white" />
    </shape>
</item>


可能您的9-patch格式不好?我尝试了9-patch图像的不同版本,所有这些都提供了我想要的预览。但是,当特定的列表视图活动启动时,我的第一个RelativeLayout中的内容就消失了。不过,使用普通位图图像效果很好。正在发生的事情的屏幕截图、您希望发生的事情的图像以及9修补程序可能会帮助人们确定问题所在。代码示例中也有同样的问题:)我尝试使用draw9patch工具修复图像。尝试了不同的变体,但没有成功。如果图像应该在(+x,-y)方向缩放,那么理想的绘制方式应该是什么?对我不起作用,9块仍然显示拉伸。