2013-07-29 82 views
4

大圖象我需要使用web視圖來加載從資產一個大的圖像(大約3500 X 3500像素)。的Android:加載從資產使用網頁視圖

我已經做了很多的研究在這裏#2,然而,一切答案都爲我工作。我想這可能是使用資產的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設備上獲取:

網頁無法 在文件的網頁:///android_asset/test.html可能暫時,或者它已永久性地移動到新網址。根據要求

的logcat:

I/webclipboard: clipservice:  [email protected] 
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 
+0

可以在這裏發佈logcat – KOTIOS

+0

@ Stacks28我已根據要求更新了我的問題。 – user1234

+0

哎HVü給出正確道路的權利?再次檢查拼寫? – KOTIOS

回答

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); 
+0

This works!很高興能夠動態生成HTML並獲取本地圖像。 –

0

的另一種方法: 如果你能夠使用奇巧API級別19 ,並且您正在控制Web視圖,因此沒有擔心的安全問題。

Then:
webSettings.setDomStorageEnabled(true);

webSettings.setAllowFileAccessFromFileURLs(真); webSettings.setAllowUniversalAccessFromFileURLs(真);

通過這些設置,我能夠加載信息(由瀏覽器啓動 - Javascript) 以從android_asset文件夾和SD卡中獲取文件信息。 也將信息保存到的SD卡。

如果有人知道如何使V17這件事的工作一樣,這將是偉大的知道!?