美文网首页
web View底部添加原生界面

web View底部添加原生界面

作者: 陽光亽活力 | 来源:发表于2023-04-27 09:26 被阅读0次
    在ScrollView嵌套WebVIew,WebView超过一屏幕,并且在底部添加原生的分享,或者点赞功能。
    image.png
    一、在OnCreateView中初始化
      webView.addJavascriptInterface(this, "App");
    
    二、在onProgressChanged中添加 javascript
        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            ViseLog.d("onProgressChanged:" + view.getUrl());
            //当进度执行到80的时候就开始执行onPageFinished获取高度为0
            if (newProgress >= 99) {
                webView.loadUrl("javascript:App.resize(document.body.getBoundingClientRect().height)");
                getBinding().scrollView.scrollTo(0, 0);
            }
        
    
    三、接收回调
        @JavascriptInterface
        public void resize(final float height) {
            ViseLog.d("+++height:" + height);
            requireActivity().runOnUiThread(() -> {
                int height1 = (int) ((height + 50) * getResources().getDisplayMetrics().density);
                webView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, height1));
            });
        }
    

    相关文章

      网友评论

          本文标题:web View底部添加原生界面

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