前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款Android WebView进度条显示控件,使其加载进度平滑过渡。

一款Android WebView进度条显示控件,使其加载进度平滑过渡。

原创
作者头像
Jingbin
修改2019-09-24 11:09:06
2.5K0
修改2019-09-24 11:09:06
举报
文章被收录于专栏:Android 技术栈

WebProgress

一款Android WebView进度条显示控件,使其加载进度平滑过渡。

GitHub地址:WebProgress

Gif Preview

演示图
演示图

gif可能有点卡,可下载使用此控件的WebView项目查看:网页浏览器

Use

  • 建议直接将类拷贝到项目中:WebProgress
  • xml文件引入:
代码语言:txt
复制
 <me.jingbin.library.WebProgress
         android:id="@+id/progress"
         android:layout_width="match_parent"
         android:layout_height="2dp" />
  • 显示处理:
代码语言:txt
复制
 mProgress.show(); // 显示
 mProgress.setWebProgress(50);              // 设置进度
 mProgress.setColor("#D81B60");             // 设置颜色
 mProgress.setColor("#00D81B60","#D81B60"); // 设置渐变色
 mProgress.hide(); // 隐藏

in WebView

  • 显示进度条:
代码语言:txt
复制
mWebView.loadUrl(mUrl);
mProgress.show();
  • 处理返回进度:
代码语言:txt
复制
@Override
public void onProgressChanged(WebView view, int newProgress) {
    super.onProgressChanged(view, newProgress);
    mProgress.setWebProgress(newProgress);
}
  • 页面加载结束时:
代码语言:txt
复制
 @Override
 public void onPageFinished(WebView view, String url) {
    // html加载完成之后,无网隐藏进度条
    if (!CheckNetwork.isNetworkConnected(this)) {
        mProgress.hide();
    }
    super.onPageFinished(view, url);
}

Thanks

此类是从项目Justson/AgentWeb-WebIndicator中将处理WebView进度条剥离出来的,在此基础上进行优化后合并为一个类,便于导入到自己的项目中。其中大部分代码出自原作者,感谢作者的开源精神。

优化处:

  • 1.增加能显示进度渐变色
  • 2.修复progress同时返回两次100时进度条出现两次
  • 3.当一条进度没跑完,又点击其他链接开始第二次进度时,第二次进度不出现
  • 4.修改消失动画时长,使其消失时可以看到进度跑完

End

  • 有问题或更好的建议,欢迎提Issues,我会及时处理,谢谢。
  • 最后附一遍GitHub地址😁:WebProgress

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • WebProgress
    • Gif Preview
    • Use
      • in WebView
      • Thanks
      • End
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档