9补丁图像作为背景的问题

时间:2011-02-18 11:27:23

标签: android listview nine-patch

我有一个列表视图结构,使用相对布局 奇数/偶数元素的交替背景图像。我正试图设定 通过计算位置动态绘制背景。它 使用正常的位图工作得很好。但是当我试图使用时 ninepatch图像打破了UI,所有元素都被扭曲了。什么 我做错了吗?可能是如何创建或正在创建九个图像 与正常情况相比,使用9patch图像有不同的方式 位图。

我的列表视图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>

可能解决方案here可能适用于我的问题。虽然我必须尝试它,但确切的。

4 个答案:

答案 0 :(得分:31)

因为现在没有人回答你一年... 我有同样的问题你需要设置为零(即使你不需要它)。

祝你好运。

答案 1 :(得分:0)

您可以像使用普通drawable一样使用九个补丁。我假设你有9补丁本身的问题。在你的android sdk的/ tools目录中,你有draw 9补丁工具。它将帮助您纠正9补丁可绘制并预览不同大小的视图。

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以使用此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>