本地图片资源的处理
制作 .9 图片
在 Android developer 的 Tools 下有关于 .9的制作流程 tools/help/draw9patch
你可以直接在 Android studio 打开和制作 .9 图片,如果是使用 eclipse 的同学则需要去 sdk 的 tools 目录下找到 draw9patch.bat 然后双击运行
基础操作区域介绍
区域 1 :操作区域,你打开后的图片,你需要在这个区域进行绘制操作
区域 2 :预览区域,总共有三种预览效果,从上到下依次是,垂直拉伸预览效果,水平拉升预览效果,垂直和水平同时拉伸预览效果。
功能 3 :勾选之后,显示不能操作的 lock 区域
功能 4 :勾选之后,显示的是你想要在图片上显示的区域
功能 5 :勾选之后显示绘制的 拉伸区域
功能 6 :显示无效的绘制边
首先将
步骤:
点击右上角 File,打开一张你要制作的 png图片(只能打开png图片,因为jpg图片没有透明度)打开之后工具会自动帮你在四周加上 1 px 的透明像素,用于绘制。
然后开始绘制,左边1px像素边绘制的是像素点是水平(左右)拉伸的区域范围,上边1px像素边绘制的是垂直(上下)拉伸时的拉伸区域
tip:实际开发情况你可以各绘制一个拉伸像素点,和你设置若干个像素点的效果是一样的
绘制右边和下边像素边,右边和底部的像素点绘制区域表示设置拉伸时候的 非padding 区域,也就是说,你没绘制的话,padding 就是 0,如果绘制的话,就是总长度减去绘制长度为padding的值。
绘制出错问题,不能对两种区域进行重叠绘制,意思是左边像素点边和右边像素点边绘制区域不能重叠(上下像素边也一样),下面是绘制错误的情况,android 不能使用这种存在 badbatchs 的 .9 图片
关于 drawable 文件夹的处理
我们知道 Android 在 res 文件夹下有不同限定符后缀,drawable,value之类的都有,系统运行时,会根据这个限定符后缀去查找文件。
就拿 drawable 文件来说,xxhdpi的手机,会先去drawable-xxhdpi 的文件夹下查找图片,如果没有的话,就会往回查找,先查找xhdpi文件夹,根据分辨率,最后才是 drawable,但是如果你同一张图片放在 drawable 和 xxhdpi 然后显示在 xxhdpi上同一个 ImageView 上的内存大小是不一样的,简单来说会执行下面这条公式,Android 系统会自动帮你缩放图片。
缩放公式:缩放后大小= 图片实际大小 × (手机密度/图片密度)
具体的图片选择规则如下
再解释一下,因为 android 中 bitmap 对象包含了对象内存和像素内存,之前3.0之前,是分开存储的,3.0以后都是存储在一起的,所以android 系统帮你自动放大之后,会浪费很多内存。
关于应用程序图标 launcher icon
android 官方建议为
36x36 (0.75x) for low-density
48x48 (1.0xbaseline) for medium-density
72x72 (1.5x) for high-density
96x96 (2.0x) for extra-high-density
180x180 (3.0x) for extra-extra-high-density
192x192 (4.0x) for extra-extra-extra-high-density
分别为不同的分辨率的手机制作不同分辨率的应用程序图标,
另外在 最新版的 Android studio 中 1.3.1中,自动生产了 mipmap-xxxx 文件夹,这个文件夹下存放不同的应用图标(按照分辨率存放)