Android:如何从res / drawable中检索图像并将其放入WebView.loadUrl()

时间:2012-02-21 06:48:13

标签: java android

我已经尝试了以下但没有成功。 我的项目使用API​​级别4。

from stackoverflow

from android documentation

这是我的代码:

webView.loadUrl("android.resource://com.package.name.from.manifest/" + R.drawable.pic); 

我在WebView小部件中遇到以下错误:

  

网页不可用

     

网页   android.resource://com.package.name.from.manifest/2130837504可能是   暂时停止或可能已永久移动到新网站   地址。

我错过了什么吗?我应该创建html页面,其中包含指向资源的链接< img ...>标记

4 个答案:

答案 0 :(得分:2)

我相信你应该在assets /文件夹中有你的drawable,然后通过file:///android_asset/drawable_name.png形式的URI引用它们。

答案 1 :(得分:2)

最后我做了以下事情:

我有一个资源中每个图像的文件扩展名数组。 然后我可以使用资源ID和文件扩展名调用以下方法。

protected String getResourceURL(int resourceId, String extension) {
    String resName = getResources().getResourceName(resourceId);
    int index = resName.indexOf("/");
    resName = resName.substring(0, index);
    index = resName.indexOf(":");
    String resType = resName.substring(index + 1);

    StringBuilder link = new StringBuilder(128);
    link.append("file:///android_res/");
    link.append(resType).append("/");
    link.append(getResources().getResourceEntryName(resourceId));
    link.append(".").append(extension);
    return link.toString();
}

答案 2 :(得分:1)

您可以像这样获得图像路径。

file:/// android_res / drawable / YOUR_FILE_NAME

将此路径传递给html中的标记。它将起作用。

答案 3 :(得分:-3)

我希望它有用.. 从res / drawable获取图像..

Resources res = getResources();
Drawable drawable = res.getDrawable(R.drawable.myimage);