赞
踩
android 一般加载 .9图都是制作好了以后放在 drawable目录下。
之前试验过 制作好了的.9放了服务器 和 本地sd卡 直接设置background不行。
后来才知道 .9图需要aapt的 编译,编译后的 .9图的黑线 也不见了 。
编译的方法就是是使用sdk的工具就行,在sdk目录下的build-tools目录下,任意一个版本。
以windwos为例
cd进sdk目录 build-tools。然后执行命令 aapt.exe c -v -S D:\9from -C D:\9out
D:\9from是文件目录, D:\9out是输出目录。执行完就可以进行.9图批量转换
可以写成一个批处理。
cd C:\programming\android-sdk-windows\build-tools\25.0.2
aapt.exe c -v -S D:\9from -C D:\9out
mshta vbscript:msgbox("提示",64,"转换完成")(window.close)
路径替换自己的路径,另存为bat文件,双击运行就行。或者给服务器,运行一个脚本来编译,linux脚本也很简单。
最后获取下载以后,android代码里面构建成bitmap,然后检测一下.9的缩放信息,来设置就可以了。
public static void setNinePathImage(ImageView imageView, Bitmap bitmap) {
if (bitmap == null)
return;
byte[] chunk = bitmap.getNinePatchChunk();
if (NinePatch.isNinePatchChunk(chunk)) {
NinePatchDrawable patchy = new NinePatchDrawable(bitmap, chunk, new Rect(), null);
imageView.setBackgroundDrawable(patchy);
}
}
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。