学而实习之 不亦乐乎

Android:NinePatch 详解及使用

2022-07-19 07:12:19

NinePatch 是可伸缩的位图图像,可以用作视图的背景。其实质上就是在原图片(.png)上添加了1px的边框,允许按照我们的需求,把对应的区域设置为黑色线来标识要复制并拉伸的部分。

如下图所示,9分图的四个角不作任何伸展,四个边分别只作水平和垂直伸展,中间部分则是水平跟垂直伸展,它在使用的过程中就可以根据我们的实际需求自动调整图形大小以适应视图内容。

一、Nine-Patch图片的制作

Nine-Patch图片的制作很简单,需要借助工具draw9patch.bat,它已经内置在 Android 系统中了,我们可以直接在工程里使用它。
在res文件下找到你需要制作的图片,右击图片,可以看到Create 9-Patch file选项,点击它就可以制作9-Patch图片了。

根据提示,选择你需要保持的位置,点击Save即可。在左边res文件下,可以看到生成了一个以 .9.png 为后缀的图片(注意如果文件名一样的话,需要删除原图片)。9-patch图片制作成功,双击图片,我们就可以去编辑它了。

编辑规则:
在编辑器中,左边图片为编辑图片,右边三张为效果图。
上边黑线:必选,横向拉伸区域
下边黑线:可选,横向内容显示区域
左边黑线:必选,纵向拉伸区域
右边黑线:可选,纵向内容显示区域

操作:
鼠标箭头直接置于图片边框即可直接拖动编辑。鼠标+CapsLock划线,鼠标+Shift键清除。

二、使用

使用方法很简单,与其他图片用法是一样的,如:

android:background="@drawable/bg"