9Patch图】的更多相关文章

本文主要介绍9patch图 *.9.png:android手机上,可以按需求自动拉伸的图片 本文地址:http://www.cnblogs.com/wuyudong/p/5947195.html,转载请注明出处. 使用AS点开XXX.9.png图片 可以看到图片的四条边有黑色的线段.下面通过示意图来说明: 图1上下边各有两条线段,表示可以通过横向拉伸的部位,如图2所示 图3左右边各有两条线段,表示可以通过纵向拉伸的部位,如图4所示 综合以上两种,取其公共部分为可拉伸区域,如图: 右边线段和下边线…
1. 何为 9patch图 ?     它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片:所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸:这种图片是经过"9patch"进行特殊处理过的,如果不处理的话,直接用PNG图就会有失真,拉伸不正常的现象出现. 2. 9patch图细节,说明如下:   1号黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域 2号黑色条位…
美工做了一张.9的背景图,宽度110*80 像素,描点如下: 放到720p的智能电视上观看,总感觉怪怪的.仔细观看可以发现,前景图总是不能完全的覆盖掉背景图.总有那么一个像素的点多余出来,如图所示: 开始以为是美工做的图有问题,翻来覆去让人家改了好几次,效果始终不对,不是720p下不正常,要么就是1080p下不正常,终于把小姑娘改烦了. 想想也是,是不是程序的问题呢? 动用测量工具测量了一下,发现右边原本5px的边框,居然变成了4px.找了半天,最后终于确定原来是宽度的问题. 我们使用的是dim…
NinePatch是一种很有用的PNG图片格式,它可以在特定区域随文字大小进行缩放. - 上边线控制水平拉伸- 左边线控制竖直拉伸- 右边线和下边线控制内容区域 如下: 背景图片的中间区域会随着文字的大小进行缩放. 背景图片是一张NinePatch图片. NinePatch图片可以使用android自带的draw9patch工具来制作,该工具在SDK安装路径的tools目录下.执行该工具,然后点击“File”->“open 9-path”打开一张用于制作NinePatch图片的原来图片. 在画布…
本次分享的主题源于笔者在实际开发中遇到的问题. 具体现象为:当普通的9-Patch图用作TextView的backGround属性后,整个TextView便有了一定的Padding值.但笔者并没有给定padding属性,甚至在预览视图中,也没有展现出padding效果.但运行起来后,便莫名其妙地有了内边距. 我们先来看布局代码: <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:andro…
以下是Demo首页的预览图 demo下载:http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz 一.细说layout_weight     目前最为推荐的Android多屏幕自适应解决方案.     该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中.其值越小,则对应的layout_width或layout_height的…
1.9patch图 2.按钮自定义 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <!--尺寸--> <size android:height="20dp" android:width="310dp"/…
文章来源:http://blog.csdn.net/shimiso/article/details/19166167 demo下载:http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz一.细说layout_weight    目前最为推荐的Android多屏幕自适应解决方案.    该属性的作用是决定控件在其父布局中的显示权重,一般用于…
dip(dp): device independent pixels(设备独立像素) dip,就是把屏幕的高分成480分,宽分成320分.比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度. dpi:dot per inch dpi=(√(横向分辨率^2+纵向分辨率^2))/屏幕尺寸) ppi:pixels per inch(跟dpi一样) 计算了一下小米手机屏幕的PPI,4.0英寸.分辨率854X480,PPI(DPI)   =√(854^2+480^2)/4=…
GPU过度绘制 打开开发者选型,"调试GPU过度绘制",蓝.绿.粉红.红,过度绘制依次加深 粉红色尽量优化,界面尽量保持蓝绿颜色 红色肯定是有问题的,不能忍受 使用HierarchyView分析布局层级 删除多个全屏背景:应用中不可见的背景,将其删除掉 优化ImageView:对于先绘制了一个背景,然后在其上绘制了图片的,9-patch格式的背景图中间拉伸部分设置为透明的,Android 2D渲染引擎会优化9-patch图中的透明像素.这个简单的修改可以消除头像上的过度绘制. 缩短Vi…
首发地址:http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ 因为推广的需要,公司需要把APK的大小再"减小"一下,4M以内! 当达到4M以内之后,公司建议说,能否再压压?2M如何? 瘦身前 因为平时就考虑到大小的限制,所以很多工作已经做过了,如下列举现在的状态: 7.3M(Debug版本)和6.5M(Release版本) 开启minifyEnabled 开启shrinkResources…
相信一步步走过来的Android从业者,每个人都会遇到OOM的情况.如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力.今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念. 内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被GC正常回收的情况.多数出现在不合理的编码情况下,比如在 Activity中注册了一个广播接收器,但是在页面关闭的时候进行unRegister,就会出现内存溢出的现象.通常情况…
Out of Mana,法力耗尽. 内存就像法力,耗尽了就什么都不能做了.有时候一个应用程序占用了太大的内存,超过了Android系统为你规定的限制,那么系统就会干掉你,以保证其他app有足够的内存.俗称内存溢出(Out Of Memory).(其实不止Android系统,内存溢出本身说的就是java虚拟机的事.) 这个内存的限度究竟是多少呢? 有人说是16M,有人说是32M.事实上,这个是因系统而异的,系统又因硬件设备而异.通常来说物理RAM越大的手机,系统制作者会设置宽松一点的内存限制. 当…
  在之前的 Android 内存管理 &Memory Leak & OOM 分析 中,说到了Android的内存管理相关的原理,也能了解到Android Memory Leak 和 OOM为什么会发生.这次主要说说编码层面,如何来预防Memory Leak的发生. 对象都是有生命周期的,对象的生命周期有的是进程级别的,有的是Activity所在的生命周期,随Activity消亡:有的是Service所在的生命周期,随Service消亡.很多情况下判断对象是否合理存在的一个很重要的理由就是…
相信一步步走过来的Android从业者,每个人都会遇到OOM的情况.如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力. 今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念. 内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被GC正常回收的情况. 多数出现在不合理的编码情况下, 比如在Activity中注册了一个广播接收器,但是在页面关闭的时候进行unRegister, 就会出现内存溢出的现象.通…
相信一步步走过来的Android从业者,每个人都会遇到OOM的情况.如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力.今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念. 内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被GC正常回收的情况.多数出现在不合理的编码情况下,比如在Activity中注册了一个广播接收器,但是在页面关闭的时候进行unRegister,就会出现内存溢出的现象.通常情况下…
一.细说layout_weight     目前最为推荐的Android多屏幕自适应解决方案.     该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中.其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级:纵向布局中,决定的是layout_height的优先级.     传统的layout_weight使用方法是将当前控件的layout_width和layout_height都设置成fil…
Android面试 1. 内容介绍................................................................................................................................................................................................................... 8 2. JavaSE基础(★★)....…
当你的设计师要求你在某个 View 上增加阴影效果,那你只需要认真阅读本文,阴影的问题就不再是问题. 一.前言 设计师的世界,与常人不同,有时候想要扁平化的风格,有时候又想要拟物化的风格.而在 Material Design 出来之后,为 UI 元素引入了高度的概念,它可以让某个元素更为突出,显示出它的重要性,更让人有点击的欲望. 在拟物化的设计里,UI 元素的高度,反应在效果上,就是在边框上有阴影的效果,感觉它是距离底部有一个层次的关系.在 Material Design 的设计中,也大量的使…
Android 系统的一个工程师(Romain Guy)针对Falcon Pro  应用,撰写了一个Android性能分析的文章.该文章介绍了如何分析一个应用哪里出现了性能瓶颈,导致该应用使用起来不流畅.找到原因.并修复问题.即使没有应用源码也能分析出问题大概根源. 需要的工具 工具很简单,只需要Android 4.2 SDK即可 聊聊性能 Android 4.1 的Project Butter关注于性能问题,并引入了一些新的性能分析工具.例如 systrace.虽然Android 4.2没有提…
原文:每个Android开发者必须知道的内存管理知识 拷贝在此处,以备后续查看. 相信一步步走过来的Android从业者,每个人都会遇到OOM的情况.如何避免和防范OOM的出现,对于每一个程序员来说确实是一门必不可少的能力.今天我们就谈谈在Android平台下内存的管理之道,开始今天的主题之前,先再次回顾两个概念. 内存泄漏:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被GC正常回收的情况.多数出现在不合理的编码情况下,比如在 Activity中注册了一个广播接收…
转载请注明出处:http://blog.csdn.net/bbld_/article/details/40584331 翻译自:http://developer.android.com/training/material/drawables.html 以下的几点drawables 的功能帮助你在你的app中实现material design: l  可绘制着色 l  突出的颜色提取 l  矢量可绘性 本章节向你展示了怎么在你的app中使用这些功能. 色调Drawable资源 假设使用Androi…
首先声明,下面文字转载于: APK瘦身实践 http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ APP终极瘦身指南 http://www.jayfeng.com/2016/03/01/Android-APP%E7%BB%88%E6%9E%81%E7%98%A6%E8%BA%AB%E6%8C%87%E5%8D%97/ Android APK瘦身实践 因为推广的需要,公司需要把APK的大小再"减小&qu…
)密度无关像素,单位为dp,是Android特有的单位 Android开发时通常使用dp而不是px单位设置图片大小,因为它可以保证在不同屏幕像素密度的设备上显示相同的效果. /** * dp与px的转换 * Created by SEU_Calvin on 2016/09/28 */ public class DensityUtils { public static int dp2px(float dp , Context context){ float density = context.ge…
0. 前言 APK的大小对APP的加载速度,使用内存大小和消耗功率多少有一定影响.如何减小APK的大小对于Android开发者是一个永恒的话题. 查阅了很多相关资料,并将其做了删减以及总结.本文原创,转载请注明出处:http://blog.csdn.net/seu_calvin/article/details/52199151 首先就来了解一下APK的组成结构.   1. APK的组成结构 META-INF:包含CERT.SF和CERT.RSA签名文件,和MANIFEST.MF清单文件. ass…
以下是Demo首页的预览图 demo下载:http://www.eoeandroid.com/forum.php?mod=attachment&aid=NjE0Njh8ZTIyZDA2M2N8MTMzODgyOTQxN3w1NzAwOTV8MTczOTcz 一.细说layout_weight     目前最为推荐的Android多屏幕自适应解决方案.     该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中.其值越小,则对应的layout_width或layout_height的…
前几天群成员讨论过关于9patch的工具[我比较喜欢喊它9妹子,西西(*^_^*)].然后研究了一下,比较简单但是很实用的一个Android sdk 自带工具.这里给大家做一个分享下经验! 1.什么是“9妹”(9patch)? 它是一个对png图片做处理的一个工具,能够为我们生成一个"*.9.png"的图片; 2.何为"*.9.png"? 所谓"*.9.png"这是Android os里所支持的一种特殊的图片格式,用它可以实现部分拉伸:这种图片是…
一:9patch图片介绍: android的.9.png是android系统中一种特殊的图片格式,专门用来用来处理图片大小变化后(如拉伸)的失真,不正常,如我们看到的qq聊天中的文字气泡,不管你输入的文字多少,发送后背景气泡四边的圆角是不会变样的.图片经过9patch处理后保存后名为:xxx.9.png,打开时边缘会有一圈空像素边框,上面有黑线或黑点.制作工具在我们的android sdk文件夹中有,下面沦落凡间将来详细解说如果制作. 二:制作: 1:打开android sdk文件夹在tools…
1.何为9-patch? NinePatch图片以*.9.png结尾,和普通图片(png图片)的区别是四周多了一个边框(如下图所示): 采用NinePatch图片做背景,可使背景随着内容的拉伸(缩小)而拉伸(缩小).---在Android中,对于不同的分辨率,图片显示就不会变形了 上下左右的四条黑线表示如下: 1.左边和上边的交叉区表示可扩展区域:右边和下边的交叉区表示文字显示区域 2.左边和上边的黑线必须有(否则,工程会报错的):右边和下边的黑线可无,或者只有一个 3.当右边和下边的黑线都没有…
Android UI技巧(一)--Android中伸缩自如的点9图片切法,没有美工自给自足 相信大家对.9 图片应该都很熟悉吧,有些人可能自己都会了,此篇献给那些不会的同学,咱们一起来聊聊.9图片的切法 一.分辨率 其实相对于Android和IOS两大平台来讲,Android的适配问题一直是大家工作上的一个大问题,这里,我做了一个分辨率的对照表,大家先来连接一下这个简单的东西吧 当然,现在2K的屏幕都出来了,不过这个咱不管哈 二.点9切图法 上面了解了大致的分辨率,我们就来切图了,所谓的.9图就…