Картинка из Assets в HTML не грузится

313
07 апреля 2017, 21:27

Делаю так:

WebView wv_scr4;
String txtHTML = "<html><body>" +
        "<img src=\"file:///android_asset/madagaskar.jpg\"><br>"+
        "<p align=\"center\">Page HTML</p>"+
        "</body></html>";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    wv_scr4 = (WebView) findViewById(R.id.wv);
    wv_scr4.getSettings().setJavaScriptEnabled(true);
    wv_scr4.getSettings().setSupportZoom(true);
    wv_scr4.getSettings().setBuiltInZoomControls(true);
    wv_scr4.setWebViewClient(new WebViewClient());
    wv_scr4.getSettings().setDefaultTextEncodingName("utf-8");
}
public void onCl_Btn(View v) {
    Log.d("MyLog","txtHTML "+txtHTML);
    try { wv_scr4.loadData(txtHTML,"text/html; charset=UTF-8", null);
    } finally { Log.d("MyLog","LoadWV() - Загрузка не удалась"); }
}

Результат: на экране текст "Page HTML", картинки нет, в логах "LoadWV() - Загрузка не удалась". Файл с картинкой в Assets (AndroidStudio) присутствует.

Answer 1

Вот так надо

String txtHTML = "<html><body>" +
    "<img src=\"madagaskar.jpg\"><br>"+
    "<p align=\"center\">Page HTML</p>"+
    "</body></html>";
webView.loadDataWithBaseURL("file:///android_asset/", txtHTML, "text/html", "utf-8", null);

Ссылка на картинку должна быть относительной.

READ ALSO
Что это за алгоритм (GOST)?

Что это за алгоритм (GOST)?

Встретился вопрос: как реализовать алгоритм GOST?

338
как сделать чтобы картинка взял цвет заднего фона

как сделать чтобы картинка взял цвет заднего фона

есть фон такой из личного блога Билла Гейтса там как видите 2 фотки они приняли цвет заднего фона оранжевый(на одном он с женой в другом какой...

433
vue заполнить template из json

vue заполнить template из json

имеется json такого вида

304