如何在textzoom操作时在webview上裁剪额外空间?

时间:2017-12-12 12:53:32

标签: android android-webview

在我的Android应用程序中,我在Webview中显示html内容。 作为我的要求的一部分,我需要增加和减少文本化 Webview内容。为此,我使用以下方法。

mWebView.getSettings().setTextZoom(150);

问题描述:

将textzoom导入mWebView.getSettings().setTextZoom(150)完整的网页浏览后,内容会增加大小。 但是当我将文本缩小到mWebView.getSettings().setTextZoom(100)时,webview高度仍然与150相同。 所以它在textzoom 100的内容之后显示了额外的空间。

请告诉我如何重置或裁剪Webview内容中的额外空格。

1 个答案:

答案 0 :(得分:1)

试试这个。希望它会有所帮助。

一旦页面加载完毕,我正在注入一个javascript方法来回调我JS钩子。在这种方法中,我传递的是。

的大小
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)));
        }
    });
}