android从sdcard加载.9.png图片
必须配置好android sdk, aapt工具可以用
1, 首先需要将test.9.png编译成NinePatch图片,需要使用andorid二进制资源编译器abrc, 另外需要将test.9.png放到一个android工程(TestProject)的res/drawable/目录下;
命令: abrc compile workspace/TestProject ./ res/drawable/test.9.png
结果: 结果图会在当前目录下的res/drawable/下
可能的错误: W/asset (17428): Asset path /home/xxx/work/android-sdk/adt-bundle-linux/sdk/android.jar is neither a directory nor file (type=1).
ERROR: Asset package include '/home/xxx/work/android-sdk/adt-bundle-linux/sdk/android.jar' not found.
将sdk目录下的android.jar拷贝到/home/xxx/work/android-sdk/adt-bundle-linux/sdk/
2, decode test.9.png to bitmap
Bitmap bitmap= BitmapFactory.decodeFile(FILE_PATH+"/"+"test.9.png");
3, 生成NinePatchDrawable
NinePatchDrawable nineDrawable= null;
byte[] chunk = bitmap.getNinePatchChunk(); // 如果.9.png没有经过第一步,那么chunk就是null
if(NinePatch.isNinePatchChunk(chunk)) {
NinePatchDrawable patchy = new NinePatchDrawable(bitmap, chunk, new Rect(), null);
}
更多相关文章
- 解决 android 在sd卡新建文件后需要重启才能找到
- Android(安卓)ServiceManager注册自定义service
- Android使用代码实现关机/重启
- android无线调试
- Android(安卓)Studio - 第四十七期 毛玻璃效果以及动态生成二维
- Android(安卓)端如何添加自定义表情
- Android获取状态栏和标题栏的高度
- Android(安卓)3D 旋转的三角形(四)
- android 中Window跟WindowManager