一、9.PNG简介

九图(9.PNG)这种格式的图片是安卓开发里面的一种特殊的图片,在android 环境下具有自适应调节大小的能力:

(1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展

(2)允许开发人员定义内容显示区,用于显示文字或其他内容

9.png图片与其它图片不同之处在于,它的四周与普通的png图片相比多了1个像素位的白色区域,因而真正显示的时候总像素会缩小2个像素(上下左右各1个像素),比如23x23像素的9.png图片真正显示的时候会变成21x21像素。所以我们在制作的时候要注意掌握尺寸。

二、如何制作9.png图片素材:

1、draw9patch工具,该工具在Android SDK中都有自带,在/sdk/tools/draw9patch目录下面

2、执行draw9patch,会出现如下图:

3.将你制作的图片拖到该窗口中,图片的边缘会增加1个像素白色透明框。将鼠标放在白色边框,点住左键不放拖动,会出现黑色点或线条,如下图:

4、四周的黑色线条解释如下:
(a)1号黑色条位置向下覆盖的区域表示图片横向拉伸时,只拉伸该区域

(b)2号黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域

(c)3号黑色条位置向左覆盖的区域表示图片纵向显示内容的区域

(d)4号黑色条位置向上覆盖的区域表示图片横向显示内容的区域

右边3个图形区域为显示当前拉伸效果,没有黑色条的位置覆盖的区域是图片拉伸时保持不变(比如,如果图片的四角为弧形的时候,当图片被任意拉伸时,四角的弧形都不会发生改变)

5、如果失误多选了部分,可按住shift键,点击鼠标左键去掉黑色条

6、选择好区域后,点击左上file-> save,保存为PNG图片。保存完成后,后缀名自动为xxx.9.png。命名时只需要填写名称xxx,不需要写后缀.9.png,否则android编译的时候会报错。

三、常见错误:

1. “No resource found that matches the given name”

这是因为在保存为PNG图片,命名时带了后缀.9.png。一定要注意命名只需要填写图片名称,工具会自动加上后缀。

2. AAPT: ERROR: 9-patch image xxx.9.png malformed.  AAPT: Must have one-pixel frame that is either transparent or white.

这是因为9.png九图的四边都需要描点,如果有一条边没有描点,有可能会报这个错误。

Android 9-patch 九图的制作与使用相关推荐

  1. 【Android】点九图

    文章目录 一.拉伸规则 1.拉伸区域(左上):拉伸图片的宽高 2.内容区域(右下):显示文字 3.例子: 二.制作 1.AS中创建 2.AS中编辑 一.拉伸规则 注意,对话框图片边缘至少要保留1PX空 ...

  2. 3分钟学习点九图的制作和使用(聊天气泡的实现)

    我们都知道Android平台有多种不同的分辨率,很多控件的切图文件在被放大拉伸后,边角会模糊失真,有的甚至会变形.那么如何去避免这种情况呢? 答案是:使用 点九图(xxx.9.png) 代替那些随着分 ...

  3. Android做点九图

    是一种被特殊处理过的png图片,能够指定哪些区域可以被拉伸,哪些区域不能被拉伸. 在设计图片为背景的时候,有的时候图片会被拉伸,例如,将下列图片放到背景中,给定长度是macth_parent. 代码如 ...

  4. Android draw9patch点九图常识

    2019独角兽企业重金招聘Python工程师标准>>> 点就图片的上下左右别上的区域有着不同的规则. 总体来说: ①左侧,上侧黑色区域表示自由伸缩区域,非黑色区域为硬性区域(不可自由 ...

  5. Android studio生成点九图与webp图

    studio中选中图片,右击鼠标: 在弹出菜单的倒数第二个选项可以看到生成点九图的选项. 点击确定之后即生成了点九图 在弹出菜单的最后一项是生成webp图片的选项,可以点击生成webp格式的图片. w ...

  6. Android开发之点九图的制作说明

    总结: 左边的点代表垂直拉伸的区域, 上边的点代表水平拉伸的区域. 右边的点代表文字等的垂直可可显示区域. 下边的点代表文字等的水平可显示区域. 左上重合的区域就是拉伸区域. 右下重合的区域就是显示区 ...

  7. Android点九图(.9.png)的特点和制

    看了一下,觉得这个NinePng九图神器App还不错,帮忙推荐一下. 转自http://blog.csdn.net/sasoritattoo/article/details/42457619 本文主要 ...

  8. android 点9图片,安卓UI设计基础教程: 什么是点九图,怎么切点九图

    01 什么是点九图 点九图,是Android开发中用到的一种特殊格式的图片,文件名以".9.png"命名.这种图片能告诉开发人员,图片哪部分可以被拉伸,哪部分不能被拉伸需要保持原来 ...

  9. 点九图完全解析-附官方工具

    搞懂点九图看这一篇就够了. 内容简介 你真的了解android的点九图吗?读完这一篇,再来回答这个问题,废话少说,先看看本文要讲的主要内容: 点九图简介 下图是一张android系统中的典型点九切图, ...

最新文章

  1. Hyper-V群集之使用指南
  2. pointnet与pointnet++
  3. 3.内存分配、逃逸分析与栈上分配、直接内存和运行时常量池、基本类型的包装类和常量池、TLAB、可达性分析算法(学习笔记)
  4. 【Oracle】Oracle索引
  5. 关于数据运营的一点小思考
  6. 千万并发连接下,如何保障网络性能
  7. java 树形图构建
  8. 稳定性测试怎么测_心理测试:选择你喜爱的一种食物,测你2020年的运势怎么样...
  9. Excel 关于新建xls文件 新建sheet 合并sheet的VBA操作代码
  10. MySQL怎么卸载干净重装?
  11. SpringBoot 房屋租赁系统3.0 manland.liuyanzhao.com
  12. 哈夫曼编码与哈夫曼树
  13. android log抓取工具,Android PC端用ADB抓取指定应用日志实现步骤
  14. 如何下载离线地图数据(支持谷歌、百度、高德等所有地图源)
  15. matlab保存bln文件,气象万千(冯锦明课题组)-软件程序
  16. 学习笔记三:衍生兄弟——过冲和振铃
  17. 几种kafka多线程消费方式
  18. Nios和Qsys互连
  19. 开发手机APP做UI设计,这5个UI错误会置你的APP于死地!
  20. 力扣每日一题每天自动邮件提醒

热门文章

  1. Windows中如何使用vmware虚拟化
  2. 香港金曲奖分析(1983-2017 by SIRMAN)
  3. Unity3D逆向基础教程第一课
  4. 欧盟砍伐森林法规和遵守情况 用Dimitra技术解决森林砍伐问题
  5. HDU-动态规划题集【转】
  6. java和美利达公路车,公路车有哪些性价比高(十款性价比高的公路车)
  7. 蛋糕上两只翘着二郎腿的小胖猪可爱极了
  8. 【Linux】结合当前软件工程技术的背景,评价当前市面上流行的操作系统的局限性
  9. 通过第三方平台shareSDK分享链接
  10. php ldap目录协议,PHP 通过LDAP协议,操作Windows Active Directory