4

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

樱桃.xml

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

樱桃.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>

任何更多的问题只是问,我会尽快回复。一切正常,只是我无法显示的图像。

4

4 回答 4

10

首先欢迎来到stackoverflow。

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

樱桃.java

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

htmltest.html

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

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

于 2012-06-01T03:59:14.300 回答
3

创建这个目录assets/www

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

樱桃.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" />
于 2012-06-01T02:25:11.080 回答
2

修改图片路径即可

从:

file:///android_drawable/test.png

到:

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

于 2017-02-17T10:08:54.793 回答
1

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

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

于 2015-02-20T22:17:20.160 回答