基本上没有什么用处:
根据Froyo源代码,它在从资源中创建九宫格图像时使用,但在创建常规位图时不使用:
852 private static Drawable drawableFromBitmap(Resources res, Bitmap bm, byte[] np,
853 Rect pad, String srcName) {
854
855 if (np != null) {
856 return new NinePatchDrawable(res, bm, np, pad, srcName);
857 }
858
859 return new BitmapDrawable(res, bm);
860 }
你可以通过查看Drawable代码来找到它:
createFromStream
返回:
return createFromResourceStream(null, null, is, srcName, null);
它又使用:
return drawableFromBitmap(res, bm, np, pad, srcName);
(np来自Bitmap#getNinePatchChunk();
),这个方法会调用:
return new NinePatchDrawable(res, bm, np, pad, srcName);
最后,你将看到NinePatch声明:
public class NinePatch
从位图创建一个九宫格可绘制的投影。
参数:
bitmap:描述九宫格的位图。
chunk:描述底层位图如何分割和绘制的9-patch数据块。
srcName:位图源的名称。可能为空。