登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

查看: 483|回复: 5

android实现用户体验超棒的微信WebView进度条,android系统webview

[复制链接]

501

主题

1153

帖子

331

安币

手工艺人

发表于 2017-11-27 16:47:51 | 显示全部楼层 |阅读模式

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

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

        网络正常的状态,分为两种加载速度,前部分正常速度加载,后边速度特意放慢,让用户感觉到你在非常卖力的在进行网络请求.

        

        断开网络的状态: 进度条还是分为两种速度,类似于网络正常的状态,也能让用户感觉到你在非常卖力的在进行网络请求.

        

        实现的思路



  

    1. 大方面要分两种情况:没有网络,有网络情况
  


  

    2. 实现加载进度条的两种速度,前边比较快,后边估计放缓慢
  


  

    3. 利用自定义view属性动画实现进度条的流畅加载
  


  

    4. 进度条的渐变消失
  

        遇到的难点,踩过的坑

        1、进度条的位置问题

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

        

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

        

        3、两种进度条加载速度的实现和进度条的流畅加载

        流畅加载 ::我这里自定义view来实现的,通过属性动画来实现流畅加载

        


        两种加载速度 :

        这里自定义view里边设置方法和方法回调

        


        两种加载速度的具体实现

        


        源码地址:webviewprogress_jb51.rar


9

主题

9523

帖子

1793

安币

Android大神

Rank: 6Rank: 6

发表于 2017-11-28 12:00:00 | 显示全部楼层
楼主是好人,回个帖会有安币吗?

85

主题

9755

帖子

2215

安币

Android大神

Rank: 6Rank: 6

发表于 2017-11-29 03:26:31 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol

1

主题

9346

帖子

2561

安币

Android大神

Rank: 6Rank: 6

发表于 2017-11-29 21:36:53 | 显示全部楼层
安卓巴士是个不错的网站,我来顶个贴~

62

主题

9739

帖子

926

安币

代码手工艺人

学海无涯

Rank: 4

QQ达人

发表于 2017-11-30 22:02:07 | 显示全部楼层
不错不错,楼主辛苦了。。。

0

主题

8

帖子

18

安币

初级码农

Rank: 1

QQ
发表于 2019-1-28 16:50:14 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区
联系我们
关闭
合作电话:
15618560077
Email:
805941275@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 广东互联网违法和不良信息举报中心|中国互联网举报中心|下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表