4

webview を使用してアセットから大きな画像 (約 3500 x 3500 ピクセル) をロードする必要があります。

私はここで Stackoverflow について多くの調査を行いましたが、答えはどれもうまくいきませんでした。アセットを使用する Android 4.0 以降の問題である可能性があると思います。

私の現在のコードは次のようになります。

WebView webView = (WebView)findViewById(R.id.myWebView);
webView.loadUrl("file:///android_asset/test.html");

test.html は次のようになります。

<html>

  <table>

    <tr>

      <td>

        <img src="testimage.png" width="3500px" alt="TestAlt">

      </td>

    </tr>

  </table>

</html>

testimage.png と test.html の両方がアセットに含まれています。これを物理的な Android デバイスでテストすると、次のようになります。

ウェブページが利用できません file:///android_asset/test.html のウェブページが一時的にダウンしているか、新しいウェブ アドレスに完全に移動した可能性があります。

要求に応じて Logcat:

I/webclipboard: clipservice:       android.sec.clipboard.ClipboardExManager@43ac41b0
V/webkit: BrowserFrame constructor:  this=Handler (android.webkit.BrowserFrame) {43ac3dc8}
D/WebView: loadUrlImpl: called
D/webcore: CORE loadUrl: called
D/webkit: Firewall not null
D/webkit: euler: isUrlBlocked = false
D/chromium: Unknown chromium error: -6
I/GATE: <GATE-M>DEV_ACTION_ERROR</GATE-M>
V/webkit: reportError errorCode(-1) desc(There was a network error)
I/GATE: <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
I/Adreno200-EGLSUB: <ConfigWindowMatch:2136>: Format RGBA_8888.
D/WebView: onSizeChanged - w:480 h:0
D/WebView: onSizeChanged - w:480 h:446
4

2 に答える 2

3

ここから答えを見つけました:

https://stackoverflow.com/a/7480245/2060140

webview.getSettings().setBuiltInZoomControls(true);
webview.loadDataWithBaseURL("file:///android_asset/", "<img src='file:///android_res/drawable/example.png' />", "text/html", "utf-8", null);
于 2013-08-07T13:44:16.200 に答える