Загрузка ресурса Android в WebView - PullRequest
44 голосов
/ 31 января 2011

У меня есть приложение для Android, которое отображает комикс. Чтобы использовать встроенные элементы управления масштабированием, я загружаю изображения в WebView примерно так:

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

Это работает очень хорошо, однако, поскольку изображения находятся в папке ресурсов, они не сжимаются, что делает мой .apk огромным. Мне было интересно, как ссылаться на файлы ресурсов (из папки res/drawable) с путем к файлу, как я делал выше с активами. Кто-нибудь знает, как будет выглядеть этот путь? Я пробовал такие вещи, как "file:///res/drawable/pagetitle.jpg", но безуспешно. Спасибо за помощь.


Обновление:

Я обнаружил, что "file:///android_res/drawable/page1.jpg" был путь, который я искал.

Ответы [ 2 ]

20 голосов
/ 31 января 2011

с этого сайта

Используя идентификатор ресурса, формат:

"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");
6 голосов
/ 26 января 2012

Мне также пришлось использовать loadDataWithBaseURL вместо простого loadData, чтобы заставить file:///android_res/drawable/page1.jpg работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...