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

问题描述

| Drawable.createFromStream()方法的第二个参数是什么意思? 从Android API,我只会得到:
public static Drawable createFromStream (InputStream is,String srcName)
Create a drawable from an inputstream
在我阅读的所有示例中,我都看到它们使用字符串“ src”:相对于应用程序的根目录,这是可绘制对象被缓存的目录的名称吗? 一个并行的问题:将来我应该在哪里找到Android核心资源(例如Drawable.createFromStream()方法...),以避免此类愚蠢的问题?     

解决方法

基本上是没用的: 基于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,srcName);
(np来自
Bitmap#getNinePatchChunk();
),它调用:
return new NinePatchDrawable(res,srcName);
最后,进入NinePatch声明:
public class NinePatch
  从中创建可绘制的投影   位图到九个补丁。      参数:      位图描述补丁的位图。      9补丁数据块,描述基础位图的方式   拆分并绘制。      srcName位图的源名称。可能为空。