2013-03-16 42 views
3

我目前有一個問題與Android WebView。 該網頁視圖目前初始化這樣的:Android的webview問題與SINGLE_COLUMN模式

_post_WebView = (WebView) view.findViewById(R.id.post_webview); 
_post_WebView.setBackgroundColor(Color.WHITE); 
_post_WebView.setWebViewClient(new PostWebViewClient()); 
_post_WebView.getSettings().setBuiltInZoomControls(true); 
_post_WebView.getSettings().setSupportZoom(true); 
_post_WebView.getSettings().setPluginState(PluginState.ON); 
_post_WebView.getSettings().setJavaScriptEnabled(true); 
_post_WebView.getSettings().setRenderPriority(RenderPriority.HIGH); 
_post_WebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
_post_WebView.setWebChromeClient(new WebChromeClient() {}); 
_post_WebView.getSettings().setUseWideViewPort(false); 
_post_WebView.getSettings().setLoadWithOverviewMode(true); 
_post_WebView.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); 

該web視圖用於顯示從服務器檢索的HTML字符串。 (使用loadData方法)。現在問題在於,在SINGLE_COLUMN模式下,圖片和文字在寬度和高度上的調整都適當,但嵌入的YouTube視頻在寬度上調整大小時,不會在高度上調整大小,因此只顯示黑色框。

LayoutAlgorithm.NORMAL一切工作正常。 如何確保YouTube視頻在SINGLE_COLUMN算法中得到適當調整?

的YouTube視頻嵌入這樣的:

<iframe allowfullscreen="" frameborder="0" height="315" width="420" src="YOUTUBE_VIDEO_LINK"></iframe> 
+0

你解決了這個問題嗎? – Zookey 2013-07-22 18:16:07

+0

是的,我做到了。我已經添加了我的答案。 – 2013-07-23 05:15:21

回答

4

我終於去,並通過使用loadDataWithBaseURL(null, htmlString, "text/html", "utf-8", null)代替loadData(htmlString,"text/html","utf-8"),同時增加了100%max-width財產和汽車widthheight屬性來使用CSS不同iframe解決它:

htmlString = "<html><head><style>iframe {max-width: 100%; width:auto; height: auto;}</style></head><body>"+htmlString+"</body></html>"; 

這不是最乾淨的方式,但它的工作原理。

如果與佈局算法NARROW_COLUMNS一起使用,此方法也應該可以工作。