Android WebView高度自适应内容大小/去除底部留白

2020-12-24  本文已影响0人  拿拿guardian

一、重写WebViewClient里的onPageFinished方法:

@Override
public void onPageFinished(WebView view, String url) {
     CustomWebView.this.loadUrl("javascript:android.resize(document.body.getBoundingClientRect().height)");
     super.onPageFinished(view, url);
}

二、CustomWebView设置addJavascriptInterface方法并增加resize方法:

addJavascriptInterface(this, "android");
@JavascriptInterface
public void resize(final float height) {
    ThreadUtils.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            ViewGroup.LayoutParams layoutParams = CustomWebView.this.getLayoutParams();
            layoutParams.height = (int) (height + 0.5f);
            CustomWebView.this.setLayoutParams(layoutParams);
        }
    });
}

搞定!

上一篇 下一篇

猜你喜欢

热点阅读