Android中,Drawable.createFromStream(is, srcname):第二个参数的含义是什么?

49

Drawable.createFromStream()方法的第二个参数是什么意思?

从Android API中我只得到了以下信息:

public static Drawable createFromStream (InputStream is, String srcName)
Create a drawable from an inputstream

在我阅读的所有示例中,我都看到他们使用了字符串“src”:这是缓存drawable的目录名称,相对于我的应用程序根目录吗?

另一个相关的问题:我应该在哪里找到Android核心源代码(例如Drawable.createFromStream()方法的源代码...),以避免这种愚蠢的问题,在未来呢?

1个回答

50

基本上没有什么用处:

根据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:位图源的名称。可能为空


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接