- 浏览: 75233 次
- 性别:
- 来自: 成都
文章分类
最新评论
前几天群成员讨论过关于9patch的工具【我比较喜欢喊它9妹子,西西(*^_^*)】、然后研究了一下,比较简单但是很实用的一个Android SDK 自带工具、这里给大家做一个分享下经验!
1.什么是“9妹”(9patch)?
它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片;
2.何为"*.9.png"?
所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸;这种图片是经过”9妹“进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象出现。
3.它的用途是?
说到用途,这种特殊格式的png图,我也看了网上的相关文章但都是用一个能自适应的button举例子!(如下图)清一色抄袭.. - -、
(此实例咱们直接无视掉,在后面我会给大家灌输游戏中实例)
这个例子是指当button上的字体大小改变,那么文字底下的png图也会自动适应文字。
这似乎表明做Android 软件应用 使用一些组件的的时候会时常用到;
4.那么实际在游戏中到底如何使用呢?什么情况下去使用呢?
....当然啦,身为做游戏我一定要”9妹“利用在咱们游戏中才行,不然岂不是白研究了、经过思考突然想到了一些情况,并且发现“9妹”确实在游戏开发中占有一定的分量!下面我们来先熟习“9妹”工具,然后再跟大家举例,贴图来说明其用途、毕竟有图有真相 呵呵~
启动9妹:
在你Android SDK 路径下 X:\android sdk\tools ,你会找到一个 【draw9patch.bat】,没错这就是9妹啦、官方名 NinePatch ;
提示导入一张png图片,然后真正进入"9妹"的操作界面(如下图):
(图1)
序列 ① :在拉伸区域周围用红色边框显示可能会对拉伸后的图片产生变形的区域,如果完全消除该内容则图片拉伸后是没有变形的,也就是说, 不管如何缩放图片显示都是良 好的。 (实际试 发现NinePatch编辑器是根据图片的颜色值来区分是否为bad patch的,一边来说只 要色差不是太大不用考虑这个设置。)
序列 ② :区域是导入的图片,以及可操作区域。
序列 ③ :这里 zoom:的长条bar 是对导入的图放大缩小操作,这里的放大缩小只是为了让使用者更方便操作,毕竟是对像素点操作比较费 眼,下面的 patch scale 是序列 ④区域中的三种形态的拉伸后的一个预览操作,可以看到操作后的图片拉伸后的效果。
序列 ④: 区域这里从上到下,依次为:纵向拉伸的效果预览、横向拉伸的效果预览,以及整体拉伸的效果预览
序列 ⑤: 这里如果你勾选上,那么当你鼠标放在 ② 区域内的时候并且当前位置为不可操作区域就会出现lock的一张图,就是显示不可编辑区域 ;
序列 ⑥: 这里勾选上,那么在④ 区域中你就会看到当前操作的像素点在拉伸预览图中的相对位置和效果。
序列 ⑦: 在编辑区域显示图片拉伸的区域;
如何操作:
鼠标左键选取需要拉伸的像素点; shift+鼠标左键取消当前像素点。
操作区域:
大家看到导入的png图片默认周围多了一像素点,也就是这一圈一像素点就是咱们的可操作区域。但是因为下方和右方可操作区域属于可选区域,不用理会;主要大家注意Left 和 top 操作区域;
Top操作区域的一排像素点,表示横向拉伸的像素点;
Left操作区的一排像素点,表示纵向拉伸的像素点;
下图是我对图片的操作:
(图2)
大家看到上方和左边的黑色像素了么?对,这些是我手动操作的地方,我这里是想让此png图像拉伸操作的时候,只是中间区域被拉伸。选择上方中间区域是为了横向拉伸的时候选取的拉伸像素点,左边则是纵向拉伸的;
那么大家现在回头看一眼(图1)然后对比(图2),看到区别了吧!很明显,(图1)我们没有任何操作,默认整体拉伸,那么拉伸的效果很明显的失真了...而(图2)我们指定了拉伸的像素点所以只是中间的被拉伸,图片的花边我们保留不拉伸这样看起来就好太多啦 娃哈哈、
然后通过“9妹”就可以保存出来一张“*.9.png”图片,我们放在android 项目的res 下的 drawable 下就可以拉!
1.什么是“9妹”(9patch)?
它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片;
2.何为"*.9.png"?
所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸;这种图片是经过”9妹“进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象出现。
3.它的用途是?
说到用途,这种特殊格式的png图,我也看了网上的相关文章但都是用一个能自适应的button举例子!(如下图)清一色抄袭.. - -、
(此实例咱们直接无视掉,在后面我会给大家灌输游戏中实例)
这个例子是指当button上的字体大小改变,那么文字底下的png图也会自动适应文字。
这似乎表明做Android 软件应用 使用一些组件的的时候会时常用到;
4.那么实际在游戏中到底如何使用呢?什么情况下去使用呢?
....当然啦,身为做游戏我一定要”9妹“利用在咱们游戏中才行,不然岂不是白研究了、经过思考突然想到了一些情况,并且发现“9妹”确实在游戏开发中占有一定的分量!下面我们来先熟习“9妹”工具,然后再跟大家举例,贴图来说明其用途、毕竟有图有真相 呵呵~
启动9妹:
在你Android SDK 路径下 X:\android sdk\tools ,你会找到一个 【draw9patch.bat】,没错这就是9妹啦、官方名 NinePatch ;
提示导入一张png图片,然后真正进入"9妹"的操作界面(如下图):
(图1)
序列 ① :在拉伸区域周围用红色边框显示可能会对拉伸后的图片产生变形的区域,如果完全消除该内容则图片拉伸后是没有变形的,也就是说, 不管如何缩放图片显示都是良 好的。 (实际试 发现NinePatch编辑器是根据图片的颜色值来区分是否为bad patch的,一边来说只 要色差不是太大不用考虑这个设置。)
序列 ② :区域是导入的图片,以及可操作区域。
序列 ③ :这里 zoom:的长条bar 是对导入的图放大缩小操作,这里的放大缩小只是为了让使用者更方便操作,毕竟是对像素点操作比较费 眼,下面的 patch scale 是序列 ④区域中的三种形态的拉伸后的一个预览操作,可以看到操作后的图片拉伸后的效果。
序列 ④: 区域这里从上到下,依次为:纵向拉伸的效果预览、横向拉伸的效果预览,以及整体拉伸的效果预览
序列 ⑤: 这里如果你勾选上,那么当你鼠标放在 ② 区域内的时候并且当前位置为不可操作区域就会出现lock的一张图,就是显示不可编辑区域 ;
序列 ⑥: 这里勾选上,那么在④ 区域中你就会看到当前操作的像素点在拉伸预览图中的相对位置和效果。
序列 ⑦: 在编辑区域显示图片拉伸的区域;
如何操作:
鼠标左键选取需要拉伸的像素点; shift+鼠标左键取消当前像素点。
操作区域:
大家看到导入的png图片默认周围多了一像素点,也就是这一圈一像素点就是咱们的可操作区域。但是因为下方和右方可操作区域属于可选区域,不用理会;主要大家注意Left 和 top 操作区域;
Top操作区域的一排像素点,表示横向拉伸的像素点;
Left操作区的一排像素点,表示纵向拉伸的像素点;
下图是我对图片的操作:
(图2)
大家看到上方和左边的黑色像素了么?对,这些是我手动操作的地方,我这里是想让此png图像拉伸操作的时候,只是中间区域被拉伸。选择上方中间区域是为了横向拉伸的时候选取的拉伸像素点,左边则是纵向拉伸的;
那么大家现在回头看一眼(图1)然后对比(图2),看到区别了吧!很明显,(图1)我们没有任何操作,默认整体拉伸,那么拉伸的效果很明显的失真了...而(图2)我们指定了拉伸的像素点所以只是中间的被拉伸,图片的花边我们保留不拉伸这样看起来就好太多啦 娃哈哈、
然后通过“9妹”就可以保存出来一张“*.9.png”图片,我们放在android 项目的res 下的 drawable 下就可以拉!
发表评论
-
android检测当前网络是否可用
2012-05-28 20:43 1133在android程序中运行第一步就是检测当前有无可用网络 如 ... -
java面试之抽象类和接口知识点
2012-05-27 18:13 8371.abstract class 在 Java 语 ... -
点击两次back退出程序
2012-04-17 22:48 963private long exitTime = 0; ... -
【转】android service 学习(下)
2012-01-13 22:43 751通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递 ... -
【转】android service 学习(上)
2012-01-13 22:31 720Service是android 系统中的一种组件,它跟Acti ... -
ndroid 使用代码打开浏览器,打电话,开地图
2011-11-03 13:37 8761,调用web浏览器 Uri myBlogUri = Uri. ... -
java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决方法
2011-11-03 10:57 1107最近在做电信的一个视频地图项目时,需要获取网络图片预览,用到图 ... -
【转】Android中的.9.png图形的机制及制作和使用方法
2011-10-25 10:31 1701转至:http://blog.sina.com.cn/s/bl ... -
MIUI直刷正确开启A2SD+的方法(htc系)
2011-10-21 18:32 1161第一步:在Recovery里对 SD卡进行分区 : 分区后 ... -
自定义Android 标题栏TitleBar布局
2011-10-21 18:09 3567自定义Android 标题栏TitleBar布局 方法一、 ... -
Android 去掉title bar的3个方法
2011-09-26 14:44 166161. Java代码实现 @Override public v ... -
Android平台显示单位px和dip以及sp的区别
2011-06-08 15:55 866很多网友可能发现在Android的layout文件中layou ... -
【转】禁止android横屏和竖屏的切换
2011-06-01 15:42 1632在某些场合可能需要禁止横屏和竖屏切换,实现这个要求很简单,只要 ... -
【转】动画的两种实现模式Animation
2011-05-10 21:05 1323关于动画的实现,Android提供了Animation,在 ... -
【转】动画的实现Animation
2011-05-10 20:59 0关于动画的实现,Android ... -
【转】TextView如何高亮显示文本
2011-05-09 16:25 939转自:http://dev.10086.cn/blog/?ui ... -
【转】android 图片自动切换
2011-05-01 22:33 1371图片自动切换 res/drawable/update.xml ... -
【转】PendingIntent和Intent的区别
2011-04-27 13:54 749Notification n = new Notificati ... -
【转】 AutoCompleteTextView和MultiAutoCompleteTextView的区别
2011-04-26 10:28 1213android提供了自动提示功能的textview,按照自 ...
相关推荐
本项目“Android-爱上美食基于RetrofitGlideGson的食谱APP”是一款专为美食爱好者打造的安卓应用程序,它在各大安卓市场均可下载。这款APP充分利用了Android平台的先进技术,结合了Retrofit、Glide和Gson三大神器,...
本文将深入探讨“Android滚动时间选择器”,特别关注“爱上租时间选择器”的实现细节和使用方法。 首先,DatePicker是Android系统提供的一种用于选择日期的控件,通常显示为一个对话框,用户可以通过滚动年份、月份...
是一个工具包用来帮助设计和开发 Android 用户界面,包含三个单独的工具:Android Asset Studio用户界面原型模具,Android 设计预览,时常需要重复确认程序版面设计状况的 Android App 开发者,应该会爱上这个轻量级...
MACD是一种常用的趋势跟踪指标,全称为Moving Average Convergence Divergence,中文名为移动平均收敛散度。它是利用快速(短期)和慢速(长期)移动平均线之间的聚合与分离的现象,来判断买卖时机的一种技术分析...
本程序是本人去年编写的电子书程序。里面包含了文件读取,文本分行,分页。动画logo,书签等电子书关键技术。这几天放假没什么事情。整理了一下,分享给大家。...很适合初学android的朋友。代码注释非常详细哦!!
MACD指标是金融市场中被广泛应用的动量指标之一,全称为Moving Average Convergence Divergence,意为指数平滑异同移动平均线。MACD指标通过计算短期指数平均值(通常为12日)和长期指数平均值(通常为26日)之间的...
在Android开发中,创建一个学生课程表应用是一个常见的实践,它可以帮助学生管理他们的学习日程。这个"android 学生课程表"项目涉及到的主要技术包括SQLite数据库、UI布局设计以及数据展示。以下是对这些关键知识点...
RoboGuice是Android平爱上基于Google Guice开发的一个库,可以大大简化Android应用开发的代码及一些繁琐重复的代码,给Android带来了简单、医用的依赖注入,如果你使用Spring或Guice的话,你就会知道这种编程方式是...
9. **Android Studio集成**:Android Studio集成了Kotlin插件,提供了丰富的代码补全、错误检测和转换工具,帮助开发者快速上手。 在学习Kotlin的过程中,你会接触和理解如下内容: - **基本语法**:变量声明、...
在"玩转MACD"教程中,作者分享了多个关于MACD实战应用的要点: 1. **0轴以上第一个金叉介入**:当DIF线上穿DEA线形成金叉,并且两者都在0轴上方时,是买入信号,表明市场处于上升趋势,投资者可以考虑介入。 2. **...
"Android ffmpeg算法移植所需库文件armeabi"是指将FFmpeg库适配到Android平台的armeabi架构的过程。 首先,armeabi是Android支持的一种处理器架构,它适用于大多数早期的ARM处理器,如ARMv5TE及更高版本。由于...
《爱上Arduino》是一本深入浅出的Arduino入门指南,它旨在帮助初学者了解并掌握如何使用Arduino进行电子制作和编程。Arduino是一种开放源代码的硬件和软件平台,它以其简单易用的特性吸引了大量爱好者和创新者。这...
9. **SQLite数据库**:Android内置SQLite数据库,用于存储应用数据。开发者需要学习如何创建数据库、表,执行查询和更新操作。 10. **服务(Service)**:后台运行的组件,即使用户不在应用界面也能继续执行任务,如...
从书中你将会学到: 交互设计和物理计算 Arduino硬件和软件开发环境 电力和电子的基本知识 在焊接板上进行原型测试 绘制图表 更多内容:有了廉价的硬件和能免费下载的开源软件,爱上Arduino就非常容易了。...
> 博客地址:只需体验三分钟,你就会跟我一样,爱上这款Toast > 已投入公司项目多时,没有任何毛病,可胜任任何需求,点击此处下载Demo > 想了解实现原理的可以点击此链接查看:ToastUtils 源码 集成步骤 ...
start with arduino pdf 中文版本 爱上Arduino.pdf
为了那些新手更了解android,android很目前还不错。好好学习吧
无论您是一个热爱摄影的摄影发烧友,还是一个苹果手机拍照控,又或是Snap达人,或是喜欢拍照分享的微博控,“POCO相机”都能让您爱上拍照,爱上分享! POCO相机诞生六个月,感谢1300万下载用户的支持和使用! 主要...
在Android平台上开发一款“数字拼图游戏”,是一个融合了编程技术、用户界面设计以及算法实现的项目。这个游戏的核心目标是让玩家通过移动数字方块,最终将它们按照特定顺序排列,形成预设的图像。接下来,我们将...
9. **模块化与重构**: - 将功能拆分为多个模块,如UI模块、数据访问模块、业务逻辑模块,提高代码可维护性。 - 使用MVP(Model-View-Presenter)或MVVM(Model-View-ViewModel)架构模式,分离视图层与逻辑层。 ...