Проблема с дополнительным пространством в нижней части Android Webview - PullRequest
9 голосов
/ 24 августа 2011

В моем приложении есть веб-представление, в котором я отображаю html-контент, используя метод loadData ().Проблема в том, что содержимое HTML отображается вместе с дополнительным пространством внизу, я не мог понять, почему появляется белое пространство.Эта проблема возникает только в устройстве Motorola Milestone (Android 2.1).Пожалуйста, кто-нибудь, помогите разобраться с этой проблемой.

enter image description here

Заранее спасибо, Раджапандян

Ответы [ 3 ]

15 голосов
/ 26 августа 2011

Наконец-то я нашел ответ на свой вопрос: мне нужно добавить метатег вместе с моим HTML-контентом, прежде чем добавлять его в Webview. Пожалуйста, найдите код ниже

 String s="<head><meta name='viewport' content='target-densityDpi=device-dpi'/></head>";            
 webview.loadDataWithBaseURL(null,s+htmlContent,"text/html" , "utf-8",null);      

Свойство Viewport внутри мета-тега сделало свое дело, пожалуйста, обратитесь к следующей ссылке для получения дополнительной информации.

Использование Viewport в Android Webview

С уважением, Раджапандийский

3 голосов
/ 25 октября 2014

Это сообщение в блоге решило мою проблему.Я думаю, что это поможет.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)));
        }
    });
}
1 голос
/ 27 марта 2013

Лучше также использовать свойство width. Потому что некоторые устройства учитывают это.

например:

String s="<head><meta name=viewport content=target-densitydpi=medium-dpi, width=device-width/></head>";            
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...