Android, Drawable.createFromStream(is, srcname): what's the 2nd parameter meaning?

时间秒杀一切 提交于 2019-11-27 15:27:19

问题


Which is the meaning of the second parameter of Drawable.createFromStream() method?

From Android APIs I only get:

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

In all examples I have read I see they use the string "src": is it the name of the directory where the drawable is cached, relative to my application's root dir?

One parallel question: where am I supposed to find Android core sources (for example of Drawable.createFromStream() method...), to avoid such silly questions, in future?


回答1:


It's basically useless:

Based on Froyo source, it is used when creating nine-patch images from the resource, but not when creating a regular Bitmap:

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  }

You get there by following the Drawable code:

createFromStream returns:

return createFromResourceStream(null, null, is, srcName, null);

which in turn uses:

return drawableFromBitmap(res, bm, np, pad, srcName);

(np comes from Bitmap#getNinePatchChunk();) and this calls:

return new NinePatchDrawable(res, bm, np, pad, srcName);

Finally, you get to the NinePatch declaration:

public class NinePatch

Create a drawable projection from a bitmap to nine patches.

Parameters:

bitmap The bitmap describing the patches.

chunk The 9-patch data chunk describing how the underlying bitmap is split apart and drawn.

srcName The name of the source for the bitmap. Might be null.



来源:https://stackoverflow.com/questions/6122599/android-drawable-createfromstreamis-srcname-whats-the-2nd-parameter-meanin

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!