Android中如何以编程方式(programmatically)载入 NinePatch 图片

这是Android 9 Patch图片的一个大坑!

在Android中如果要使用一个拉抻图片,必须将一张图片用 draw9patch.bat 这个工具制作为一张Android专用的9Patch图片,然后才可以在eclispe的设计器中使用。

但如果想要在代码中以编程方式载入这种图片的话,就麻烦了,必须经过以下步骤才能正确将图片拉伸显示出来

1、利用Android工具aapt.exe,执行  aapt.exe s -i xxx.9.png -o xx.png 将9Patch图片转变为一张包含特殊信息的图片,这个图片不能使用ps等工具来编辑生成,估计图片里包含有一些android的特殊信息

2、代码按以下方式调用

Bitmap bmp = BitmapFactory.decodeFile(filepath);
NinePatchDrawable npd = new NinePatchDrawable(res, bmp, bmp.getNinePatchChunk, new Rect(), null);
btn.setBackgroundDrawable(npd);



你可能感兴趣的:(Android中如何以编程方式(programmatically)载入 NinePatch 图片)