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

Posted

技术标签:

【中文标题】Android,Drawable.createFromStream(is, srcname):第二个参数是啥意思?【英文标题】:Android, Drawable.createFromStream(is, srcname): what's the 2nd parameter meaning?Android,Drawable.createFromStream(is, srcname):第二个参数是什么意思? 【发布时间】:2011-09-01 15:07:43 【问题描述】:

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

我只能从 android API 获得:

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

在我读过的所有示例中,我看到它们使用字符串“src”:它是相对于我的应用程序根目录的可绘制对象缓存的目录的名称吗?

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

【问题讨论】:

【参考方案1】:

基本没用

基于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 位图源的名称。 可能为空

【讨论】:

以上是关于Android,Drawable.createFromStream(is, srcname):第二个参数是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

android 21 是啥版本

Android逆向-Android基础逆向(2-2)

【Android笔记】android Toast

图解Android - Android核心机制

Android游戏开发大全的目录