WebView 跟隨高度變化

出自Silica Library | 間奏時光
於 2019年9月16日 (一) 06:44 由 Silica留言 | 貢獻 所做的修訂 (创建页面,内容为“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);
    }
});