【问题标题】:Android - adding a image in html webviewAndroid - 在 html webview 中添加图像
【发布时间】:2012-06-01 01:02:49
【问题描述】:

好的,所以我使用的图像称为 test.png,我有一个 java 类 (Cherry.java) 和一个 xml 类 (cherry.xml) 我在 /res/raw 文件夹中有一个名为htmltest.html。我想要做的是当用户单击上一页上的按钮然后将它们带到cherry.xml 时,它只是一个webview。现在在 java 类中它只是打开了 htmltest 文件,而在 html 文件中只是一个普通的基于 web 的布局。我想在 html 文件中显示图像,以便在可绘制文件夹或类似文件夹中显示图像,而无需使用互联网。 (不希望使用互联网权限)。以下是我拥有的 3 个文件的代码。

cherry.xml

<WebView 
    android:id="@+id/webviewHelp"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"  />

Cherry.java

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;

public class Cherry extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.cherry);

        WebView webview = (WebView) findViewById(R.id.webviewHelp);
        webview.loadData(readTextFromResource(R.raw.htmltest), "text/html", "utf-8");   

    }

    private String readTextFromResource(int resourceID)
    {
        InputStream raw = getResources().openRawResource(resourceID);
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
        int i;
        try
        {
            i = raw.read();
        while (i != -1)
        {
            stream.write(i);
            i = raw.read();
        }
        raw.close();
         }
         catch (IOException e)
         {
        e.printStackTrace();
         }
        return stream.toString();
    }



}

htmltest.html

<html>
<body>

<h1>My First Heading</h1>

<p>My first paragraph.</p>

<h2>Pictures</h2>
<img border="0" src="file:///android_drawable/test.png" alt="nothing" width="304" height="228" />

</body>
</html>

还有什么问题可以问,我会尽快回复。 一切正常,只是我无法显示的图像。

【问题讨论】:

  • Android 2.2 API 8 - 这是正在运行的
  • 请确保您的图片和html文件在同一个文件夹中,如果图片没有显示,并且图片来源引用正确,请尝试将您的图片转换为x64base

标签: android html android-webview


【解决方案1】:

首先欢迎来到stackoverflow。

现在将您的 html 和图像等放入 Assets 文件夹中。并使用以下代码。

Cherry.java

WebView webview = (WebView) findViewById(R.id.abtus_webView);
webview.loadUrl("file:///android_asset/index.html");

htmltest.html

<img src="images/abc.png">

我已将图像放入 Assets 文件夹中的图像文件夹中。这对我来说是正确的,希望对您有所帮助。

【讨论】:

  • 在我的情况下,动态 html 中的图像路径是 /images/abc.png。但它没有出现。如果 / 在路径前附加,如何实现这一点。 @Varma
【解决方案2】:

创建此目录assets/www

然后将您的 html 和图像等放在 www 文件夹中。 并使用以下代码。

Cherry.java

webview.loadUrl("file:///android_asset/www/htmltest.html");

htmltest.html

<img border="0" src="../res/drawable-hdpi/test.png" alt="nothing" width="304" height="228" />

【讨论】:

    【解决方案3】:

    修改图片路径即可

    发件人:

    file:///android_drawable/test.png

    收件人:

    file:///android_res/drawable/test.png

    【讨论】:

      【解决方案4】:

      如果您的图片很小。将它们转换为 Base64 编码。

      这里解释: http://dean.edwards.name/my/base64-ie.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-18
        • 1970-01-01
        相关资源
        最近更新 更多