基于腾讯x5开源库,提高webView开发效率,大概要节约你百分之六十的时间成本。该案例支持处理js的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常error状态、支持视频播放并且可以全频、支持加载word,xls,ppt,pdf,txt等文件文档、发短信、打电话、发邮件、打开文件操作上传图片、唤起原生App、支持webView页面截图、x5库为最新版本,功能强大。
类型 | 功能说明 |
---|---|
项目介绍 | x5WebView + 拦截缓存(okHttp) + HttpDns解析优化方案 + 视频播放 + js交互 |
开发效率 | 大概要节约你百分之六十的时间成本,配置简单,使用炒鸡简单,api文档和注释炒鸡详细 |
视频播放 | 支持视频播放,可以切换成全频播放视频,可旋转屏幕,暴露视频操作监听listener给开发者 |
js交互逻辑 | 方便快捷,并且无耦合,操作十分简单 |
加载进度监听 | 暴露进度条加载进度,结束,以及异常状态(分多种状态:无网络,404,onReceivedError,sslError异常等)listener给开发者 |
加载文件 | 支持加载word,xls,ppt,pdf,txt等文件文档,使用方法十分简单 |
重定向 | 优雅解决重定向回退,白屏等问题 |
https+dns | 添加了阿里的https+dns优化方案,按照配置初始化填入accountID和host即可使用,默认没有使用 |
夜间模式 | 支持设置夜间模式,一行代码即可设置 |
文件操作 | 支持打开文件的操作,比如打开相册,然后选中图片上传,兼容版本(5.0) |
刘海屏适配 | 支持设置刘海屏适配,对于刘海屏机器如果webview被遮挡会自动padding |
仿微信进度条 | 支持设置仿微信加载H5页面进度条,完全无耦合,操作简单,极大提高用户体验 |
自定义 | 支持用户按照规范自定义WebViewClient和WebChromeClient,不影响js通信 |
缓存 | 除了webView自带缓存外,还添加了资源拦截缓存,交给OkHttp去做,支持设置超时,设置缓存空间大小 |
scheme | 统一处理web页面打电话,发短信,定位,邮件,开启支付宝,微信等scheme拦截处理 |
无痕模式 | 支持设置无痕模式 |
问题汇总 | 汇集绝大多数问题,以及解决方案,是学习和深入理解webView的一个比较全面的案例 |
设计思想 | 充分运用了面向对象的设计思想,将视频全屏播放,scheme拦截,web进度条,拦截缓存抽成独立的部分,你也可以拿来即用,完全解耦 |
Copyright 2017 yangchong211(github.com/yangchong211)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.