Android,Drawable.createFromStream(是,srcname):第二个参数是什么意思?

时间:2011-05-25 09:58:09

标签: android drawable

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

从Android API我只得到:

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

在我看过的所有例子中,我看到他们使用字符串“src”:它是否相对于我的应用程序的根目录缓存了drawable的目录的名称?

一个平行的问题:我应该在哪里找到Android核心源(例如Drawable.createFromStream()方法...),以避免将来出现如此愚蠢的问题?

1 个答案:

答案 0 :(得分:46)

基本没用

基于Froyo source,在从资源创建九个补丁图像时使用它,但在创建常规位图时则不使用它:

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
  

从a创建可绘制投影   位图到九个补丁。

     

<强>参数

     

bitmap描述补丁的位图。

     

chunk 9-patch数据块,描述底层位图的方式   分开并画出来。

     

srcName 位图源的名称。 可能无效