WebView 跟随高度变化

来自Silica Library | 間奏時光
Silica讨论 | 贡献2019年9月16日 (一) 06:44的版本 (创建页面,内容为“Category:Android 2019-09-16 14:41 == 注意 ==   不美观,只是应急用。<br> == 代码 == <pre> webview.setWebViewClient(new WebViewClient() { @…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

2019-09-16 14:41

注意

  不美观,只是应急用。

代码

webview.setWebViewClient(new WebViewClient() {
    @Override
    public void onPageCommitVisible(WebView view, String url) {
        super.onPageCommitVisible(view, url);

        // 先将高度缩回
        LinearLayout.LayoutParams lp1 = (LinearLayout.LayoutParams) webview.getLayoutParams();
        lp1.height = WRAP_CONTENT;
        webview.setLayoutParams(lp1);
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);

        // 再根据内容高度设置 WebView 高度
        webview.measure(0, 0);
        LinearLayout.LayoutParams lp2 = (LinearLayout.LayoutParams) webview.getLayoutParams();
        lp2.height = webview.getMeasuredHeight();
        webview.setLayoutParams(lp2);
    }
});