最近使用facebook的开源图片加载框架Fresco 。。
在加载本地资源时遇到了些问题。
根据文档,所有的url都必须是绝对路径,文档给树了资源的scheme:
| 类型 | Scheme | 示例 |
|---|---|---|
| 远程图片 | http://, https:// | HttpURLConnection |
| 本地文件 | file:// | FileInputStream |
| Content provider | content:// | ContentResolver |
| asset目录下的资源 | asset:// | AssetManager |
| res目录下的资源 | res:// | Resources.openRawResource |
里面只说明了加载图片的scheme。并没有给出示例。
让我高了半天没成功。
最后在网上找到了资料,终于成功。
以 res/raw 文件夹为例
在res/raw 文件下放一个gif文件:web_loading.gif
Fresco适用的绝对url应该是这样的:
"res://com.xxx.yy/"+R.raw.web_loading
其中 R.raw.web_loading 是id,不是字符串。com.xxx.yy 是你的项目包名
因为res所有文件都会生成id。 所以使用 Fresco给出的 scheme 加上包名,再加上资源id。就可以定位到 raw下的文件
//====================== 2015-05-19 更新 =======================
最近做项目有出现了以个问题.
当我加载 asset 目录下的 资源时,又出现了图片无法加载的问题.
错误日志: E/JHEAD﹕ can't open '/loading2.gif'
在网络上看到了一个解决办法 :
将路径写成 : asset:///loading2.gif
ok ..解决..
本文介绍了如何使用Facebook的Fresco框架加载不同来源的图片资源,包括res目录和asset目录下的资源,并给出了具体的URL格式示例。

1679

被折叠的 条评论
为什么被折叠?



