9-patch png不想正确伸展

时间:2014-02-19 09:56:58

标签: android

我在Android应用程序中遇到了9-patch图像的问题。

我想用一个简单的png在屏幕上划一条线。从中创建9-patch后,我只是将其添加为ImageView容器的drawable。不幸的是,它不想伸展,仍然有同样的调整。因为我从来没有使用过9-patch png,所以我不知道我做错了什么,而且在谷歌搜索也没那么有用,因为只有信息,如何制作一个,现在你可以如何使用它。

这是我在xml文件中的代码片段:

<ImageView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:src="@drawable/testpng" />

这是我要添加的图片: enter image description here

3 个答案:

答案 0 :(得分:2)

嗯,如果它只是一个简单的线,你就不需要一个9补丁...... 只需使用一个视图,给它一个颜色作为背景,并给它一个1像素的维度:

<!-- Horizontal line -->
<View
    android_layout_width="match_parent"
    android_layout_height="1px"
    android:background="#ffff"
/>

<!-- Vertical line -->
<View
    android_layout_width="1px"
    android_layout_height="match_parent"
    android:background="#ffff"
/>

对于阴影线:

我正在使用它:

<View
    android:layout_width="match_parent"
    android:layout_height="2px"
    android:layout_centerVertical="true"
    android:background="@drawable/line_h"
/>

这是 line_h.9png ,尽可能小(6 * 4像素);)

enter image description here

现在,这不会在我的图形布局编辑器中显示,但它会在运行时显示!

答案 1 :(得分:1)

检查文件的扩展名是否为.9.png。如果不是,则不会将其识别为9补丁。

答案 2 :(得分:0)

我找到了问题的答案。缺少的是一行代码android:scaleType="fitXY"

现在看起来像这样

<ImageView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:scaleType="fitXY"
 android:src="@drawable/testpng" />