我在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" />
这是我要添加的图片:
答案 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像素);)
现在,这不会在我的图形布局编辑器中显示,但它会在运行时显示!
答案 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" />