将Android资源加载到WebView中

时间:2011-01-31 19:16:06

标签: android android-webview

我有一个显示漫画书的Android应用。为了使用内置的缩放控件,我正在加载像WebView这样的图片:

webView.loadUrl("file:///android_asset/page1.jpg");

这很好用,但是,因为图像在资源文件夹中,所以它们没有被压缩,这使我的 .apk 变得非常庞大。我想知道如何引用资源文件(来自res/drawable文件夹),文件路径就像我上面用资产一样。有谁知道那条路会是什么样的?我尝试过像"file:///res/drawable/pagetitle.jpg"这样的事情没有成功。谢谢你的帮助。


更新

我发现"file:///android_res/drawable/page1.jpg"是我正在寻找的路径。

2 个答案:

答案 0 :(得分:20)

来自this site

使用资源ID,格式为:

"android.resource://[package]/[res id]"

Uri path = Uri.parse("android.resource://com.androidbook.samplevideo/" + R.raw.myvideo);

或者,使用资源子目录(类型)和资源名称(没有扩展名的文件名),格式为:

"android.resource://[package]/[res type]/[res name]"

Uri path = Uri.parse("android.resource://com.androidbook.samplevideo/raw/myvideo");

答案 1 :(得分:6)

我还必须使用loadDataWithBaseURL而不是普通loadData才能让file:///android_res/drawable/page1.jpg生效。