android加载本地网络.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);
        }
    }

猜你喜欢

转载自blog.csdn.net/spinchao/article/details/69525598
今日推荐