1.背景自适应且不失真问题的存在
制作自适应背景图片是UI开发的一个广泛问题,也是界面设计师渴望解决的问题,我相信我们彼此都深有体会。
比如,列表的背景图一定,但是列表的高度随着列表数据项会发生变化;标题栏的背景,无论横屏还是竖屏,高分辨率还是低分辨率,都能自动填充满,而且不失真等等背景问题。
根据以往的经验,我们一般采用先切图后拼凑的做法,这种做法本来我想在这里和大家介绍一下,其实有的时候还是很有用的,但是说起来会比较麻烦,就不说这个非重点了。
Android针对这种情况,专门制作了一种.9.PNG格式来解决这个问题。
2.9.PNG格式。
*.9.PNG就标准的PNG格式,只是在最外面一圈额外增加1px的边框,这个1px的边框就是用来定义图片中可扩展的和静态不变的区域。特别说明,left(左)和top(上)边框中交叉部分是可拉伸部分,未选中部分是静态区域部分。right和bottom(下和右)边框中交叉部分则是内容部分。
如上图《也就是说,在手机里。无论上面那张图怎么放大,四周的圆角都是不会被放大的!只有left(左)和top(上)边框内才会伸缩!
在Android中以9.PNG格式的图片未背景,则能够自定义拉伸而不失真,比如系统的Button就是一个典型的例子。
其实呢,无论是left和top,还是right和bottom都是把图片分成9块 (边角四块是不能缩放的,其他的四块则是允许缩放的),所以叫做9.PNG。
3. 使用Draw9Patch.jar制作9.PNG图片之定义拉伸区域。
前面已经了解到9.PNG格式的工作方式,下面我们使用工具Draw9Patch(ADK自带)来制作.9.PNG图片。
第一步:准备要拉伸的图片。
默认的拉伸是整体拉伸,其实边框部分我们并不想拉伸,好,我们自己来定义拉伸区域,如下图
然后点击File,导出为content.9.png。
看看效果!可以看出,边框非常的清晰。下右边是未使用.9.PNG的对比图,而且也不是我们要的效果:
到这里为止,我们已经基本会制作.9.PNG图片了。为了知识体系的全面性和深入性,我们继续。
4.使用Draw9Patch.jar制作9.PNG图片之定义内容区域。
是不是觉得上面那张图文字和边距挨的太近,好,我们使用right和bottom边的线来定义内容区域,来达到增大内边距的目的。
我们定义了一个很小的内容区域,其他的地方则自动充当边框,从而使内边距显的很大,如下图,
呵呵!ok了!
5.制作.9.PNG的高级技巧。
对于初学Draw9Patch的人来说,这可以算是高级技巧,那就是:拉伸区域,可以不是连续的,可以不止一块,而且是和自定义的边框线的长度成正比。
直接上图说明:
........
教程就到此结束了! 送给准备学习开发的机油!! 大家多多支持!
附件更新在一楼!
如果想了解更多的详细教程!可以看看这个!也希望能有机油给我提些宝贵意见!!
http://bbs.dospy.com/space.php?27035863/mythreads
- 浏览: 215578 次
文章分类
最新评论
发表评论
-
关于按home键应用退出问题
2015-06-30 17:42 1590 -
Android隐藏软键盘
2014-11-20 11:37 664Android隐藏软键盘有两种情况,一种情况是当前页面弹出软键 ... -
android 中禁止RatingBar选择 或 改变
2014-10-30 14:24 1846[java] view plaincopy ... -
Android 调用系统播放器,调用系统Camera
2014-10-17 15:12 984转载自:http://blog.csdn.net/yudaj ... -
探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
2014-09-28 17:09 669前言 相信这样一个问题,大家都不会陌生, “有什么的 ... -
Android中应用程序如何获得系统签名权限
2014-09-24 15:42 881有些库的使用条件比较苛刻,要求同一签名的程序才可以获得访问权 ... -
JNI在Android开发中的应用之--用AudioRecord录音,用AudioTrack播放声音.
2014-09-21 22:42 2396[java] view plaincopyprin ... -
Android深入浅出之Audio 第一部分 AudioTrack分析
2014-09-21 15:30 810Android深入浅出之Audio 第一部分 AudioTr ... -
android.os包中一些类的使用
2014-09-02 18:01 835转载自:http://yuanzhifei89.iteye. ... -
浅谈activity启动模式,intent flag与栈
2014-08-28 19:20 1101浅析Activity启动模式、Intent Flags与栈 ... -
PopupWindow全屏半透明实现
2014-08-27 21:06 1424实现PopupWindow全屏半透明效果,只要设置PopupW ... -
android广播机制
2014-08-24 11:41 672android中系统事件发送一个广播消息,如果应用监听系统 ... -
android开机启动广播
2014-08-24 11:31 758android3.0之后没有开启过的应用或者被用户强制停止无 ... -
Fragment初始化问题
2014-08-20 13:17 1686今天在做项目时发现viewpager嵌套fragment时,f ... -
popupwindow中使用ListView无法响应点击事件
2014-08-16 12:57 832在PopupWindow中使用ListView ... -
开发中关于Fragment异常的两个问题
2014-08-16 11:47 492下边两个问题,是在开发中碰到的一些关于Fragment的偶发 ... -
WebView子线程中加载报错A WebView method was called on thread 'Thread-12357'. All WebVi
2014-08-15 14:41 2881问题 webView调用JS出错。 ... -
ExpandableListView修改group图标
2014-08-06 17:33 1153修改group前面的图标有两种方式: 一、通过修改xml文 ... -
ExpandableListView
2014-08-05 14:50 609<?xml version="1.0&qu ... -
调用Android系统设置中的Intent
2014-08-03 21:33 819开发Android软件时,常常需要打开系统设置或信息界面, ...
相关推荐
制作.9.png图片,draw9-patch教程及draw9-patch
中文版draw9patch,制作.9图片十分方便呢!解决 Android 开发 ERROR: 9-patch image
9png编辑器draw9patch汉化版,用来编辑制作9.png图片
draw9patch xUltimate-d9pc-x86
draw9patch.bat
不需要庞大的android sdk ,可以独立运行的draw9patch工具
【点九工具Win版】Draw9patch 移动版开发资源UI修改必备
draw9patch是一个对png图片处理的一个工具,能够生成".9.png"的图片
Android人员开发工具 这个九宫格绘画工具(draw9patch.bat)可以让你很容易的通过一个所见即所得(WYS|WYG)的编辑器来创建一个九宫格NinePatch图
一个jar包,制作9patch的良好工具
draw9patch.bat运行报错,将下载的文件放入你的android sdk\tools\lib里面。
Android draw9patch 图片制作与使用 理解一下4句话: 上边 决定左右拉升不变形 左边 决定上下拉升不变形 右边 设置内容高度区域 下边 设置内容宽度区域 下面我拿6张图片分别举例说明: 1.QQ多彩气泡 聊天对话框...