Android WebView 详解(持续更新)

原创
2017/06/16 14:28
阅读数 398

之前使用原生的WebView,觉得功能好强大,但是随着渐渐的深入,发现里面门路太多了,相应的坑也太多了。后来发现在腾讯专门针对安卓自己做了一个第三方的Tbs(只有安卓sdk),专门用来替代安卓内置的WebView,可见腾讯对这货恨到何种程度了。Tbs我还没有自己试过,但是现在项目用到WebView,决定这周末还是好好总结一下web的各种用法和各种坑。到此只是开篇,周末待续。

        //触摸焦点起作用
        infoWebView.requestFocus();
        infoWebView.requestFocusFromTouch();

        settings = infoWebView.getSettings();
        //设置自适应屏幕,两者合用
        //将图片调整到适合webView的大小
        settings.setUseWideViewPort(true);
        // 缩放至屏幕的大小
        settings.setLoadWithOverviewMode(true);

        //支持通过JS打开新窗口
        settings.setJavaScriptCanOpenWindowsAutomatically(true);
        //设置是否支持缩放
        settings.setSupportZoom(true);
        settings.setBuiltInZoomControls(true);
        //不显示webview缩放按钮
        settings.setDisplayZoomControls(false);
        //提高渲染的优先级
        settings.setRenderPriority(WebSettings.RenderPriority.HIGH);

        settings.setDomStorageEnabled(true);
        // 设置WebView属性,如果想让java和js交互或者本身希望js完成一定的功能请把false改为true。
        settings.setJavaScriptEnabled(true);
        //1.首先在WebView初始化时添加如下代码
        if (Build.VERSION.SDK_INT >= 19) {
            //对系统API在19以上的版本作了兼容。因为4.4以上系统在onPageFinished时再恢复图片加载时,
            // 如果存在多张图片引用的是相同的src时,会只有一个image标签得到加载,因而对于这样的系统我们就先直接加载。
            settings.setLoadsImagesAutomatically(true);
        } else {
            settings.setLoadsImagesAutomatically(false);
        }

        //Android WebView开启硬件加速导致屏幕花屏,在过渡期前将WebView的硬件加速临时关闭,过渡期后再开启
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            infoWebView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
        }

        setWebViewClent();
        Intent intent = getIntent();
        String title = intent.getStringExtra(ParamsData.TITLE);
        url = intent.getStringExtra(ParamsData.LOOK_FILE_URL);
        if (TextUtils.isEmpty(url)) {
            finish();
            return;
        }
        titleTxt.setText(title);
        Logger.d("WebActivityURL = " + url);
        infoWebView.loadUrl(url);

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部