【问题标题】:How to put image from drawable folder at HTML file如何将可绘制文件夹中的图像放在 HTML 文件中
【发布时间】:2012-04-29 15:13:17
【问题描述】:

我的 /res/raw/test.html 中有一个 HTML 文件

我使用以下代码在 web 视图中显示它

WebView wbview = (WebView)findViewById(R.id.webView1);
InputStream fin;
    try
    {
        fin = getResources().openRawResource(R.raw.manual);
        byte[] buffer = new byte[fin.available()];
        fin.read(buffer);
        fin.close();
        wbview.loadData(new String(buffer), "text/html", "UTF-8");
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }

这是我的 HTML 文件的代码

<html>
    <p>
    Lorem ipsum dolor sit amet,
    </p>
  <table>
   <tr>
         <td>
       <img src=\\"file:///android_asset/test_image2.jpg\"/>    
           <img src="test_image2.jpg" width="50px" alt="Hi">

       <img src=\"res/drawable/test_image.png"/>
       <img src="file:///android_res/drawable/test_image.png" />
       <img src=\"file:///android_res/drawable/test_image.png"\ />
         </td>
   </tr>
</table>
</html>

我想在我的 html 文件中显示我的资源文件夹中的图像... 我尝试了所有的可能性仍然不起作用。它只是显示 HTML 文本,但对于图像我不知道如何显示它

请帮帮我

【问题讨论】:

标签: android


【解决方案1】:

您可以像下面的代码一样从 android assets 文件夹加载您的 html 页面。

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

你还需要像下面这样制作你的html。

 <html>
  <p>
   Lorem ipsum dolor sit amet,
  </p>
<table>
  <tr>
      <td>
     <img src="file:///android_asset/test_image2.jpg"/>    
      <img src="file:///android_asset/test_image2.jpg" width="50px" alt="Hi">
     <img src="file:///android_res/drawable/test_image.png"/>
     <img src="file:///android_res/drawable/test_image.png" />
     <img src="file:///android_res/drawable/test_image.png" />
        </td>
      </tr>
    </table>
  </html>

【讨论】:

  • +1 精确解。建议:将图片放在asset文件夹中,不需要写file:///android_asset路径,直接通过RelativePath引用即可。 (点)
  • 是的,它工作得很好。实际上我需要我的 HTML 文件仍在 res 文件夹中,所以本地化将起作用我将您的解决方案修改为 ... wbview.loadUrl("file:///android_res/原始/manual.html"); ...并把 res/raw/manual.html 和 res/raw-jp/manual.html 等可能是我之前的问题 wbview.loadData(new String(buffer), "text/html", "UTF- 8");此行使 html 仅显示文本 感谢您的回答
  • @Herry:这适用于您自己的应用程序中的图像。但是你知道我们如何引用捆绑的图像,比如@android:drawable/ic_menu_info_details.png吗?
  • 记得在 proguard 配置文件中添加一条规则,让它在生产 apk 上也能工作:-keepclassmembers class *.R$ { public static ; } -keep class *.R$here
  • @Herry 在我的情况下它不起作用“”
猜你喜欢
  • 1970-01-01
  • 2012-04-23
  • 1970-01-01
  • 2012-05-31
  • 1970-01-01
  • 2014-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多