Загрузка Android-ресурса в WebView
У меня есть приложение для Android, в котором отображается комикс. Чтобы использовать встроенные элементы управления увеличением, я загружаю изображения в WebView
, например:
webView.loadUrl("file:///android_asset/page1.jpg");
Это работает отлично, однако, поскольку изображения находятся в папке с ресурсами, они не сжимаются, что делает мой .apk огромным. Мне было интересно, как ссылаться на файлы ресурсов (из папки res/drawable
) на путь к файлу, как я сделал выше, с активами. Кто-нибудь знает, как будет выглядеть этот путь? Я пробовал такие вещи, как "file:///res/drawable/pagetitle.jpg"
без успеха. Спасибо за помощь.
Update:
Я обнаружил, что "file:///android_res/drawable/page1.jpg"
- это путь, который я искал.
Ответы
Ответ 1
из этот сайт
Используя идентификатор ресурса, формат:
"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");
Ответ 2
Мне также пришлось использовать loadDataWithBaseURL
вместо простого loadData
, чтобы заставить file:///android_res/drawable/page1.jpg
работать.