用户体验超棒的微信WebView进度条

现在微信的用户体验一直被产品经理们所推崇,今天这里具体分析一下微信在WebView的进度条上怎么提升用户体验.

最终微信的加载进度条的效果图

  • 网络正常的状态,分为两种加载速度,前部分正常速度加载,后边速度特意放慢,让用户感觉到你在非常卖力的在进行网络请求.
这里写图片描述
  • 断开网络的状态: 进度条还是分为两种速度,类似于网络正常的状态,也能让用户感觉到你在非常卖力的在进行网络请求.
这里写图片描述

实现的思路

  1. 大方面要分两种情况:没有网络,有网络情况
  2. 实现加载进度条的两种速度,前边比较快,后边估计放缓慢
  3. 利用自定义View属性动画实现进度条的流畅加载
  4. 进度条的渐变消失

遇到的难点,踩过的坑

  1. 进度条的位置问题
    进度条加载完成后消失,是invisible还是gone掉,前者会留下一片空白,后者会让下边的webview向上跳一下。有人会说获取网页的颜色,然后把进度条的颜色换成相对应的颜色,这个太复杂了。然后仔细看微信的实现方案,发现在相对布局xml中直接把进度条放到webview后边,然后置顶就可以了,加载完毕后就会消失。


    这里写图片描述
  2. 断开网络状态下,错误拦截状态下onProgressChanged还是会从0到100,会出现两个进度条,解决办法办法倒是简单,当时可是没想通,断网居然还走这个方法.


    这里写图片描述
  3. 两种进度条加载速度的实现和进度条的流畅加载
    流畅加载 ::我这里自定义View来实现的,通过属性动画来实现流畅加载

    这里写图片描述

    两种加载速度 :
    这里自定义View里边设置方法和方法回调
    这里写图片描述

    两种加载速度的具体实现
    这里写图片描述

源码地址(欢迎follow,star)

https://github.com/StudyLifeTime/WebViewProgress

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,976评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,424评论 4 61
  • 大学毕业时,我选择去一家私企工作,可能是受电视剧和小说影响,无比羡慕踩着高跟鞋拽着英文的白领们,认为私企快节奏的生...
    Miss懵阅读 9,100评论 11 36
  • 我处理好了所有的关系,干净,纯粹,所有青涩的情感变得暴烈,暴烈之后又归于沉静,这种安静让人坦然,像青年园的风,像昨...
    穆诺阅读 2,854评论 0 0

友情链接更多精彩内容