在Android的底部额外的空间问题Webview
问题描述:
我有我的应用程序中使用loadData()方法显示html内容的Webview。问题在于HTML内容在底部显示了一些额外的空间,我不明白为什么白色空间即将到来。此问题仅在Motorola Milestone设备(Android 2.1)中发生。请有人帮忙解决这个问题。在Android的底部额外的空间问题Webview
由于事先 Rajapandian
答
最后我找到了我自己的问题的答案,我需要将它添加到网页视图之前meta标签追加我的HTML内容一起。请在下面找到
String s="<head><meta name='viewport' content='target-densityDpi=device-dpi'/></head>";
webview.loadDataWithBaseURL(null,s+htmlContent,"text/html" , "utf-8",null);
代码做的伎俩,请参考更多详细信息,下面的链接meta标签内的视口属性。
Using Viewport in Android Webview
问候, Rajapandian
答
更好地使用width属性也是。因为一些设备考虑。
如:
String s="<head><meta name=viewport content=target-densitydpi=medium-dpi, width=device-width/></head>";
答
本博客文章解决了我的问题。我认为这会有所帮助。 http://capdroid.wordpress.com/2014/08/07/resizing-webview-to-match-the-content-size/
private void setupWebView() {
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
webView.loadUrl("javascript:MyApp.resize(document.body.getBoundingClientRect().height)");
super.onPageFinished(view, url);
}
});
webView.addJavascriptInterface(this, "MyApp");
}
@JavascriptInterface
public void resize(final float height) {
MyActivity.this.runOnUiThread(new Runnable() {
@Override
public void run() {
webView.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, (int) (height * getResources().getDisplayMetrics().density)));
}
});
}
+0
这实际上解决了在4.4或以上版本的白色空间的问题,但它也将定位web视图顶部,所以你必须将它定位在它应该去的是屏幕上 – sandalone
好的一个非常使用全.. – NagarjunaReddy