?引言
什么是.9图片?
答:图片后缀名前有.9的图片,如pic1.9.png这样的图片
.9图片能干嘛?
答: 在图片拉伸的时候特定的区域不会发生图片失真,而不失真的区域可以由我们自己绘制
?制作 Nine-Patch 图片
Nine-Patch 图片到底有什么实际作用呢?
我们通过一个例子来看一下;
从网上下载一张气泡样式的图片 message_left.png,如下图所示:
将该图片放置到 res/drawable 文件夹下;
我们将这张图片设置为 LinearLayout 的背景图片,修改 activity_main.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:background="@drawable/message_left"> </LinearLayout>将 LinearLayout 的宽度指定为 match_parent,然后,将他的背景图片设置为 message_left;
现在运行程序,效果图如下所示:
可以看到,由于 message_left 的宽度不足以填满整个屏幕的宽度;
整张图片被均匀地拉伸了;
这种效果非常差,也是后我们就可以使用 Nine-Patch 图片来进行改善;
在 res/drawable 下找到这张图片,右击该图片选择 Create 9-Patch file 选项:
来到如下选项:
点击 OK 即可创建 message_left.9 图片;
打开 message_left.9 图片,来到如下界面: