什么是9.png:
可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。(http://www.my400800.cn
)
千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式
,在png图片的基础上动了些手脚,而且这种手脚你会看不见摸不着(详情见下面具体内容)。
9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意
(挺高级的吧),也许有
的同学在做美化的时候很喜欢一个图片素材,重命名替换了drawable-hdpi下的素材,但是运行系统后发现,怎么被拉伸得不像样子了,哈哈,这就是9.png图片不能轻易碰的神奇所在,不过不要紧,下面看完你就会了,安卓美化大师就是你了。
首先我们还是得介绍一下,9.png图片他的具体不同之处,它的四周与普通的png图片相比多了一个像素位的白色区域,该区域只有在图片被还原和制造的时候才能看到,当打包后无法看见,并且图片的总像素会缩小2个像素,比如23x23像素的9.png图片被打包后会变成21x21像素。所以我们在制作的时候要注意掌握尺寸。
当我们制作出9.png图片的时候你还有惊奇的发现一个几KB或者几十KB的图片,变得非常的小,一般只有几百个字节那么大,系统加载起来当然会更加的流畅咯。
android tools下面有一个draw9patch.bat ,可以将一个png图片变成一个由9个补丁(patch)组成的png。并命名为9.png
内部原理:
android会自动将.9.png的文件当做 9
patch文件来处理,9.png的文件就是一个png文件,其特殊之处在于周围一圈的框框由 0x00000000或者 0xffffffff
组成,即有一圈黑白框,黑框所框住的地方是会被resize的,另外的4个角不会被resize,
而上下左右的四块,会被单向resize。这对于一些按钮的png十分有好处,可以保持四周的圆角尺寸不变,而中心放大。
draw9patch.bat的使用方法是,打开一个普通的png图,然后将四周的中心用鼠标点上。再保存。在右边可以看到缩放后的效果。
{注意,对于从别人apk中破解9.png的时候,android编译器已经将9.png的边框去掉了
,所以还要再使用draw9patch.bat自己整一下。
}
然后在android eclipse中,将9.png的图片放到drawable中,就可以使用了。
分享到:
相关推荐
如果你只是用来连接webservice的话就直接用可以了,代码混淆里也不需要多余的操作。 如果你用到了XmlPullParserFactory这样的。那加入下边的 -dontwarn org.kxml2.** -keep class org.kxml2.** { *;} -dontwarn org....
包含pm2到node离线包, ### node环境 ...2. 解压并重命名 1. `tar -xvf node-v12.18....6. `pm2 list`查看服务状态status是否为online,如果不是尝试重新启动`pm2 restart xxx-server` ### 包含pm2 离线node包 下载地址
标题中的"commons-modeler-XXX.jar、commons-logging-XXX.jar"是指Apache Commons项目中的两个核心组件:Apache Commons Modeler和Apache Commons Logging的特定版本jar文件。这些文件是Java编程语言中的库,开发者...
XianDian-IaaS-v2.2.iso镜像文件,实测可用
使用预centos或redhat安装HBA卡驱动,操作系统版本尽可能在centos6以及以前。安装操作步骤见:https://blog.51cto.com/chier11/5659237 有问题可以相互交流。谢谢
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,广泛应用于Web开发中,它易于人阅读和编写,同时也易于机器解析和生成。在Java世界里,`json-lib-2.1.jar` 是一个用于处理JSON的库,它提供了一系列...
1. **下载**:你可以通过Oracle官网或者第三方镜像站点下载到这个文件。在Linux终端中,可以使用`wget`命令下载,例如: ``` wget ...
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar ...4. 将解压后的文件重新打包 jar cvfM0 XXX.jar BOOT-INF META-INF org 5. 启动测试 java -jar XXX.jar
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装
centos搜狗拼音输入法sogoupinyin-2.3.1.0112-2.x86_64.rpm:从官网deb安装包转换的,提示缺少依赖就补上再安装。rpm -ivh xxx.rpm .强制安装请用 rpm -ivh xxx.rpm --nodeps --force ,只提供安装,剩下的自己研究吧
Mysql安装包,5.7.2版本,安装时候可以定义安装全部内容,这样就会安装Mysql管理工具,无需安装其他管理工具了(mysql-installer-web-community-5.7.20.0.msi)
Apache log4j2零日漏洞,根据 log4j-2.15.0-rc2 版本编译生成log4j-api-2.15.0.jar 1.解压你的jar ...4. 将解压后的文件重新打包 jar cvfM0 XXX.jar BOOT-INF META-INF org 5. 启动测试 java -jar XXX.jar
otlin-compiler-embeddable-1.6-M1 下载慢 otlin-compiler-embeddable 下载慢 直接复制到 C:\Users\xxx\.gradle\caches\modules-2\files-2.1\org.jetbrains.kotlin\kotlin-compiler-embeddable\1.6.0-M1
# CrashAnalysis ## 功能介绍 这是一个jvm crash分析工具,主要分析jvm crash的原因,以及常见的解决手段。 ## 使用方式 java -jar CrashAnalysis-1.0-SNAPSHOT.jar ${hs_err_pid.log} ${hs_err_pid.log} 是jvm ...
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm client 安装包 rpm -> deb : sudo alien xxx.rpm
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装
Python常用库,官方原版whl文件,文件下载到本地后, 直接终端 pip install xxx.whl 安装
|---xxx.png |---xxx.rmvb |---xxx.jpg 2>把静态应用程序部署到tomcat中。 (把downloads文件夹拷贝到webapps中) 3>启动tomcat,访问资源: http://ip:8080/downloads/xxx.jpg 容器与组件 Servlet...