博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android WebView 详解(持续更新)
阅读量:7074 次
发布时间:2019-06-28

本文共 1969 字,大约阅读时间需要 6 分钟。

hot3.png

之前使用原生的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);

 

转载于:https://my.oschina.net/JiangTun/blog/968337

你可能感兴趣的文章
[Spark][Python]DataFrame中取出有限个记录的例子
查看>>
数据结构中的各种排序方法-JS实现
查看>>
OpenGL ES 之对各种坐标系统的记录理解
查看>>
依赖倒置原则(Dependency Inversion Principle)
查看>>
物极必反,滥用闭包的结果就是回归结构化编程
查看>>
Jenkins2.32打包Unity项目的记录
查看>>
[LeetCode] Subsets II 子集合之二
查看>>
kafka官方文档学习笔记1--基本概念了解
查看>>
[AR]Vumark(下一代条形码)
查看>>
新版本Jenkins安装时显示离线的问题
查看>>
AnkhSVN 1.0 RC3 released on August 25, 2006
查看>>
Memcached通用类(基于enyim.com Memcached Client)
查看>>
大型软件公司.Net面试题(一)
查看>>
TortoiseGit为github账号添加SSH keys,解决pull总是提示输入密码的问题
查看>>
广义线性模型
查看>>
[LeetCode] Delete Node in a BST 删除二叉搜索树中的节点
查看>>
【干货分享】常用端口服务对照表
查看>>
9.2. Buffering and Caching
查看>>
事件之道~一 如何让实体发生更新时,同时记录它更新的内容到日志表
查看>>
SharePoint自动化系列——Add/Remove “Hold” from items
查看>>