圆形进度条代码解析

本人小白一枚,最近要做一个关于圆形进度条的小项目,于是上网搜索了很多demo,现对其进行具体解析。

主要参考以下两位大神的code:

http://blog.csdn.net/xiaanming/article/details/10298163

https://github.com/li-yu/SuperProgressWheel

首先个人做自定义进度条主要分三步:

1,准备画笔  ,也就是创建attrs.xml文件,进行自定义属性

2,设置画面  ,也就是在xml文件中对进度条进行布局

3,作画,也就是java文件中创建新的业务类并继承View类。

首先准备画笔,准备画笔是为了防止以后会重复作画。具体说就是为了我们构建的view在项目中会重复使用,我们需要自定义他的属性。在进行属性自定义后,以后每次使用该View只需在xml中进行布局,以及在xml文件中对与基本属性不同的属性进行设置就好了。

最后作画有几点需要注意:

1,https://github.com/li-yu/SuperProgressWheel中用到了回调。通过这个回调可以使得所有进度条会循环转动。

2,关于invalidate和postinvalidate。两者都是刷新VIew,invalidate是在主线程中刷新View而postinvalidate是在子线程中刷新view。当progress发生改变后,为了是进度条和数字都随着进度条进行相应的增长,必须要对view进行刷新。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值