【问题标题】:How to change webview size (window.innerWidth; window.innerHeight)? [duplicate]如何更改 webview 大小(window.innerWidth;window.innerHeight)? [复制]
【发布时间】:2018-11-14 08:22:07
【问题描述】:

如何更改 Webview (window.innerWidth; window.innerHeight)? WebSettings 似乎没有办法做到这一点。

编辑: 我在这里添加解决方案以简化:

webView.setLayoutParams(new FrameLayout.LayoutParams(
                200, // width
                200 // height
        ));

【问题讨论】:

    标签: android android-webview


    【解决方案1】:

    来源:How to resize a android webview after adding data in it

    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)));
            }
        });
    }
    

    【讨论】:

    • 请不要复制粘贴解决方案。取自Here
    • 添加了源链接,谢谢 Ümañg ßürmån
    猜你喜欢
    • 2022-12-14
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 2012-05-23
    • 2015-09-24
    相关资源
    最近更新 更多