android加载网络、SD卡的.9图

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);
        }
    }
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值