美文网首页
ScrollView嵌套WebView,WebView自适应高度

ScrollView嵌套WebView,WebView自适应高度

作者: 飞哥278999401 | 来源:发表于2020-05-11 20:15 被阅读0次

    网上的思路是等页面加载完毕后,通过调用js获取当前网页的高度,获取到高度后,设置webview的高度。但是我用网上的方法获取高度为0,后来发现,需要等onPageFinished执行的时候再延迟1秒,才可以获得正常高度。 代码如下:

    1、添加webview调用的原生方法

      webview.addJavascriptInterface(this, "App");
    

    2、回调方法

    @JavascriptInterface
      public void resize(final float height) {
          runOnUiThread(new Runnable() {
              @Override
              public void run() {
                  view_articleWeb.setLayoutParams(new LinearLayout.LayoutParams(getResources().getDisplayMetrics().widthPixels, (int) (height * getResources().getDisplayMetrics().density)));
              }
          });
      }
    

    3、onPageFinished里面调用js方法去获取网页高度,并且调用上面注册的原生方法。

    new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                     webview.loadUrl("javascript:App.resize(document.body.getBoundingClientRect().height)");
                    }
                },1500);
    

    相关文章

      网友评论

          本文标题:ScrollView嵌套WebView,WebView自适应高度

          本文链接:https://www.haomeiwen.com/subject/fmupnhtx.html