Android之制作Nine-Patch图片

编写界面之实践

(前提)制作Nine-Path图片

在实战正式开始之前,要先了解一下如何制作Nine-Patch图片。
它是一种被特殊处理过的png图片,能够指定哪些区域可以被拉伸、哪些区域不可以。
那么Nine-patch图片到底有什么实际应用?
比如说项目中有一张气泡样式的图片message_left.png
这里写图片描述
Android之制作Nine-Patch图片_第1张图片

我们将这张图片设置为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/pop">
</LinearLayout>

将LinearLayout的宽度指定为match_parent,然后将它的背景图设置为pop。
第一行代码中说在Android sdk目录下有一个tools文件夹,找到draw9patch.bat文件,但是我找了半天没有找到,上网查查是因为Google 已经因为 draw9patch 热门的原因,把它集成在 Android Studio 里面了, 然后将图片放到android studio中就可以,最后右键点击-create.9path,然后就自动生成了pop.9.png,双击点开如图所示:

Android之制作Nine-Patch图片_第2张图片
我们可以在图片的四个边框绘制一个个的小黑点,在上边框和左边框绘制的部分表示当图片需要拉伸时就拉伸黑点标记的区域,在下边框和右边框绘制的部分表示内容会被放置的区域。使用鼠标在图标的边缘拖动就可以进行绘制了,按住Shift键拖动可以进行擦除。
注意:在生成pop.9.png之后,然后把原来的pop.png删除了,运行程序,效果如果:
Android之制作Nine-Patch图片_第3张图片

这样当图片需要拉伸的时候,就可以只拉伸指定的区域,程序在外观上也有了很大的改进。有了这个知识储备后,就可以实战了。

你可能感兴趣的:(android-studio)