我有一个显示漫画书的Android应用。为了使用内置的缩放控件,我正在加载像WebView
这样的图片:
webView.loadUrl("file:///android_asset/page1.jpg");
这很好用,但是,因为图像在资源文件夹中,所以它们没有被压缩,这使我的 .apk 变得非常庞大。我想知道如何引用资源文件(来自res/drawable
文件夹),文件路径就像我上面用资产一样。有谁知道那条路会是什么样的?我尝试过像"file:///res/drawable/pagetitle.jpg"
这样的事情没有成功。谢谢你的帮助。
更新
我发现"file:///android_res/drawable/page1.jpg"
是我正在寻找的路径。
答案 0 :(得分:20)
使用资源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
生效。