我有我的應用程序中使用loadData()方法顯示html內容的Webview。問題在於HTML內容在底部顯示了一些額外的空間,我不明白爲什麼白色空間即將到來。此問題僅在Motorola Milestone設備(Android 2.1)中發生。請有人幫忙解決這個問題。在Android的底部額外的空間問題Webview
由於事先 Rajapandian
我有我的應用程序中使用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)));
}
});
}
這實際上解決了在4.4或以上版本的白色空間的問題,但它也將定位web視圖頂部,所以你必須將它定位在它應該去的是屏幕上 – sandalone
好的一個非常使用全.. – NagarjunaReddy