-
Notifications
You must be signed in to change notification settings - Fork 270
01.该库具有的功能
杨充 edited this page May 17, 2020
·
1 revision
- 基于腾讯x5开源库,提高webView开发效率,大概要节约你百分之六十的时间成本。该案例支持处理js的交互逻辑且无耦合、同时暴露进度条加载进度、可以监听异常error状态、支持视频播放并且可以全频、支持加载word,xls,ppt,pdf,txt等文件文档、发短信、打电话、发邮件、打开文件操作上传图片、唤起原生App、x5库为最新版本,功能强大。项目地址:webView开源库
- WebView启动过程大概分为以下几个阶段,这里借鉴美团的一张图片
- 提高webView开发效率,大概要节约你百分之六十的时间成本,一键初始化操作;
- 支持处理js的交互逻辑,方便快捷,并且无耦合,操作十分简单,优雅解决重定向回退,白屏等问题;
- 暴露进度条加载进度,结束,以及异常状态(分多种状态:无网络,404,onReceivedError,sslError异常等)listener给开发者;
- 支持视频播放,可以切换成全频播放视频,可旋转屏幕,暴露视频操作监听listener给开发者;
- 集成了腾讯x5的WebView,最新版本,功能强大;
- 支持打开文件的操作,比如打开相册,然后选中图片上传,兼容版本(5.0);
- 支持加载word,xls,ppt,pdf,txt等文件文档,使用方法十分简单;
- 支持设置仿微信加载H5页面进度条,完全无耦合,操作简单,极大提高用户体验;
- 支持用户按照规范自定义WebViewClient和WebChromeClient,不影响js通信;
- 汇集绝大多数问题,以及解决方案,是学习和深入理解webView的一个比较全面的案例;
- BridgeHandler 接口,主要处理消息回调逻辑
- BridgeUtil 工具类,静态常量,以及获取js消息的一些方法,final修饰
- BridgeWebView 自定义WebView类,主要处理与js之间的消息
- CallBackFunction js回调
- DefaultHandler 默认的BridgeHandler
- InterWebListener 接口,web的接口回调,包括常见状态页面切换【状态页面切换】,进度条变化【显示和进度监听】等
- Message 自定义消息Message实体类
- ProgressWebView 自定义带进度条的webView
- WebViewJavascriptBridge js桥接接口
- X5WebChromeClient 自定义x5的WebChromeClient,处理进度监听,title变化,以及上传图片,后期添加视频处理逻辑
- X5WebUtils 工具类,初始化腾讯x5浏览器webView,及调用该类init方法
- X5WebView 可以使用这个类,方便统一初始化WebSettings的一些属性,如果不用这里的,想单独初始化setting属性,也可以直接使用BridgeWebView
- X5WebViewClient 自定义x5的WebViewClient,如果要自定义WebViewClient必须要继承MyX5WebChromeClient,因为注入js监听是在该类中操作的
- WebProgress 仿微信加载H5页面的WebView进度条