Android中9patch图片格式(xx.9.png)介绍与制作详解
一:9patch图片介绍:
android的.9.png是android系统中一种特殊的图片格式,专门用来用来处理图片大小变化后(如拉伸)的失真,不正常,如我们看到的qq聊天中的文字气泡,不管你输入的文字多少,发送后背景气泡四边的圆角是不会变样的。图片经过9patch处理后保存后名为:xxx.9.png,打开时边缘会有一圈空像素边框,上面有黑线或黑点。制作工具在我们的android sdk文件夹中有,下面沦落凡间将来详细解说如果制作。
二:制作:
1:打开android sdk文件夹在tools文件夹下可以找到一个draw9patch.bat的文件,双击运行,稍等一会,会出现如下窗口:

2:鼠标按住图片拖到该窗口,窗口将分为左右两部分,左边为制作的原图,右边为上下,左右缩放后的效果:

可以看到下方有三个多选框,沦落凡间这里用全勾选来演示。
第一个“show lock”勾选后把鼠标放到图片制作区域(窗口左边)会显示如图的红色条纹,条纹区域为不可编辑区域。
第二个“show patches”勾选后在图片制作区域会有如图绿色的区域,为当图片大小变化后拉伸的区域,也就是说绿色外的区域不管图片如何变化都是不会补拉伸的(如上图的四个角)。
第三个“show content”勾选后在缩放预览区域(窗口右边)会用蓝色区域来标记显示内容(如文字)的区域。
下方两个进度条:“Zoom”为图片制作区域的显示大小。“patch scale”为图片缩放预览区域的缩放大小。
这下方的选项和进度条根据自身需求自行选择。
3:制作:

图片的边缘会有一圈透明像素,这是用来标记拉伸区域和内容区域的,用鼠标在边缘单击会出现一个黑点,鼠标放到黑点上会出现两条标尺线,放到标尺线上鼠标变成上下箭头可以拖动,手动后黑点变成黑线,如上图。
注意:左边,上边的黑线分别表示垂直和水平方向上的可拉伸区域。
右边,下边的黑线分别表示垂直和水平方向上的内容显示区域。
如果失误可按住shift键再鼠标单击或拖动来清除。
设置好后别忘了拖动下方的“patch scale”进度条来缩放预览效果。
Android中9patch图片格式(xx.9.png)介绍与制作详解的更多相关文章
- Android中9-Patch图片之理解
在android中,不仅可以将扩展名为.png,.jpg,.gif的普通图片作为图片资源,而且可以将扩展名为.9.png的9-Patch图片作为图片资源.扩展名为.png,.jpg,.gif的普通图片 ...
- Android中使用am命令实现在命令行启动程序详解
在Android中,除了从界面上启动程序之外,还可以从命令行启动程序,使用的是命令行工具am. 复制代码代码如下: usage: am [subcommand] [options] start an ...
- Android中获取正在运行的应用程序-----ActivityManager.RunningAppProcessInfo类详解
今天继续讲解关于ActivityManager的使用,通过前面一节的学习,我们学会了如何利用ActivityManager获取系统里 正在运行的进程.本文要讲解的知识点是利用这些进程信息获取系统里正在 ...
- android中9-patch图片的使用
看了非常多文章的介绍,9.png图片有两种区域:可扩展区和内容显示区. 弄了半天才明确什么叫做可扩展区,什么叫做内容显示区. 分享一下自己的理解. 下图是某博客的截图: 图片来自:http://blo ...
- Android中滑屏实现----触摸滑屏以及Scroller类详解 .
转:http://blog.csdn.net/qinjuning/article/details/7419207 知识点一: 关于scrollTo()和scrollBy()以及偏移坐标的设置/取值问 ...
- Android中moveTo、lineTo、quadTo、cubicTo、arcTo详解(实例)
1.Why 最近在写android画图经常用到这几个什么什么To,一开始还真不知道cubicTo这个方法,更不用说能不能分清楚它们了,所以特此来做个小笔记,记录下moveTo.lineTo.quadT ...
- Android中的图片压缩
1.android中计算图片占用堆内存的kB大小跟图片本身的kB大小无关,而是根据图片的尺寸来计算的. 比如一张 480*320大小的图片占用的堆内存大小为: 480*320*4/1024=600kB ...
- 解决ie6中png图片格式不兼容问题
在IE6中对图片格式png24支持度不高,如果使用的图片格式是png24,则会导致透明效果无法正常显示 解决方法: 1.可以使用png8来代替png24,即可解决问题,但是使用png8代替png24以 ...
- Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
随机推荐
- 修改Linux网卡由eth1变成eth0
正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1.有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这就 ...
- 用Gradle 构建android程序
前言 android gradle 的插件终于把混淆代码的task集成进去了,加上最近,android studio 用的是gradle 来构建项目, 下定决心把android gralde 构建项目 ...
- MySQL同主机不同数据库的复制命令
MySQL同主机不同数据库的复制命令:注意运行在Terminal中,不运行在MySQL命令行中. 1 mysqldump Portal_DEV -u root -ppassword1$ --add-d ...
- javascript事件学习笔记
事件冒泡 并不是所有的事件都支持事件冒泡,比如submit ,focus,blur不支持事件冒泡,mouseover,mouseout虽然支持冒泡,但是一般不用,因为需要经常计算元素的位置,消耗比较大 ...
- html accesskey (단축키 지정)
accesskey 속성은 마우스 등을 쓰지 않는 환경을 위해 링크나 입력 폼에서 키보드의 키 입력만으로 동작을 실행할 수 있도록 accesskey 속성값에 access 할 영어 또 ...
- TSQL基础(四) - 日期处理
日期类型-DateTime DateTime是sql中最常用的日期类型. 存储大小为:8个字节: 日期范围:1753-01-01到9999-12-31: 精确度:3.33毫秒: 常用的日期函数 Get ...
- 一些C++内容的总结(2013.10.17)
1.using namespace std;使用的是C++标准库当中的一些变量,比如cout,cin等.但是using namespace std作用域只对当前文件内作用,所以using namesp ...
- c# using 引用和别名的使用
1.使用别名 在同时引用的两个命名空间中有相同的类型时,可以使用别名来区分.如下所示: using System; using System.Threading; using System.Timer ...
- node.js笔记——gulp
1.全局安装 npm install gulp -g 2.安装到具体目录,并安装相应的自动化插件 npm install -save-dev gulp gulp-concat gulp-minify- ...
- javascript 基础API
Math.random() 取值范围[0,1) 大于等于0小于1,包括0,不包括1 Math.floor() 向下取整 Math.ceil() 向上取整 第一题:一组数的规则如下:1.1.2.3. ...