@Android отображают/res/viewable в веб-представлении

Я бросаю HTML в webview для рендеринга. В HTML я должен загрузить изображение, в котором я имею /res/drawable.

Я имею /res/drawable/my_image.png и код, такой как это:

final WebView browser = (WebView) findViewById(R.id.my_webview);
String html = new MyHelper(myObject).getHtml();
browser.loadDataWithBaseURL("", html, "text/html", "UTF-8", "");

Где строка html имеет что-то как:

<html><head>
<h1>Here is the image</h1>
<img src="my_image.png" />
</head><html>

Вопрос, что это должно отобразить src припишите для обращения к изображению в /res/drawable?

17
задан rbrito 27 January 2014 в 03:07
поделиться

2 ответа

Признаюсь, я мало знаю о WebViews / HTML, но похоже, что вы берете более сложную маршрут для этого. Есть простой способ загрузить файл HTML; поместите его в папку с ресурсами, и тогда на него можно будет ссылаться следующим образом.

WebView webView = new WebView(this);
webView.loadUrl("file:///android_asset/index.html");
setContentView(webView);

Очевидно, что ваш макет более сложен, поскольку у вас больше, чем просто WebView, поэтому вы не можете напрямую использовать setContentView () , но это основная идея. Затем для ссылки на изображение в этом HTML-файле я использовал тег , например:

<img src="res/drawable/icon.png"/>

Это работает для вас?

5
ответ дан 30 November 2019 в 11:32
поделиться

У меня точно такая же проблема, но ни размещение файла изображения в res/drawable (который мне сначала пришлось создать, просто у меня уже были drawable-hdpi, -ldpi и -mdpi), ни использование file:///asset/ URL не помогло.

Вот что я делаю:

Activity:

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        mWebView = (WebView) findViewById(R.id.webview);
        mWebView.getSettings().setJavaScriptEnabled(true);
        String summary = "<html><body><div style=\"background:red; width:300px; height:50px;\"></div><img src=\"res/drawable/banner300.jpg\"/></body></html>";
        mWebView.loadData(summary, "text/html", "utf-8");

Затем в res/drawable я поместил banner300.jpg - но он не отображается. Есть идеи?

0
ответ дан 30 November 2019 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: