首先要说明的是,制作圆圈旋转的效果并不是博主做的,是参照了github上的一个代码,只是在上面添加了修改,对其优化并增加了一个打钩的动画。

先来看下效果,1+的手机获取root权限真是难,没法录屏,只能使用这种截屏生成git的笨办法,其实运行起来还是很流畅的。

这是代码github的地址:

git clone https://github.com/LxxCaroline/ProgressWheelView.git

这是圆圈旋转代码的github地址:

git clone https://github.com/pnikosis/materialish-progress.git  

我对原作者代码的修改是

1.原作者是在onDraw函数中直接调用invalidate,会导致界面平凡刷新,特别是当你打开这个开发者选项中的设置,再回到应用程序的界面,发现他在频繁刷新。老板给我的建议是每次延迟刷新,使用handler.sendMessageDelay(Message, DelayMills),在handler的handleMessage方法中调用invalidate方法,在onDraw函数中发送消息给handler即可,只要在16ms内刷新不掉帧不卡顿就好了。

2.打钩的动画是我主要的修改,分为两条直线去画。下面是我的设计稿,中间小的方框的边长就是代码中的tickSize,所以每次绘画的时候会先去找圆心,然后以圆心为中心去绘制正方形,分别绘制勾的两条线,先画短的,画完短的再开始画长的。

代码中都有注释,大家自己看吧

最新文章

  1. 删除mysql binlog日志
  2. FreeBSD-安装与配置(10.3@VMware)
  3. Java集合的Stack、Queue、Map的遍历
  4. CSS中的高度
  5. javascript XMLHttpRequest对象全面剖析
  6. 从汇编来看i++与++i
  7. hdu 4856 Tunnels(bfs+状态压缩)
  8. STM32应用笔记转载
  9. 免费开源ERP-成功案例分析(1)
  10. ELK日志系统介绍
  11. JDBC查询MySQL中的表
  12. oracle查找重复记录-转
  13. python 中的流程控制语句
  14. php调用C#生成的dll(二)
  15. bzoj5011: [Jx2017]颜色
  16. svn本地如何切换账号
  17. MyBatis之Collection
  18. JavaScript函数作用域与对象以及实用技巧
  19. centos7 单台zookeeper安装
  20. 搭建github静态博客

热门文章

  1. MindManager 2019新版上市 ,了解一下!
  2. jquery里面的选择器
  3. VS Code中编写html(3) 标签的宽高颜色背景设置
  4. centos7 rpm 安装 rabbitMQ 最新版
  5. MySQL py模块的链接Navicat可视化工具
  6. Eclipse maven工程 Missing artifact com.sun:tools:jar:1.7.0:system 解决方法
  7. 解决value toDF is not a member of org.apache.spark.rdd.RDD (spark2.1 )
  8. Javascript继承(原始写法,非es6 class)
  9. [luogu3952 noip2017] 逛公园 (计数dp+最短路)
  10. [luogu4310] 绝世好题 (递推)