Android 制作类似支付圆圈和打钩界面ProgressWheel
2024-08-31 09:03:26
首先要说明的是,制作圆圈旋转的效果并不是博主做的,是参照了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,所以每次绘画的时候会先去找圆心,然后以圆心为中心去绘制正方形,分别绘制勾的两条线,先画短的,画完短的再开始画长的。
代码中都有注释,大家自己看吧
最新文章
- 删除mysql binlog日志
- FreeBSD-安装与配置(10.3@VMware)
- Java集合的Stack、Queue、Map的遍历
- CSS中的高度
- javascript XMLHttpRequest对象全面剖析
- 从汇编来看i++与++i
- hdu 4856 Tunnels(bfs+状态压缩)
- STM32应用笔记转载
- 免费开源ERP-成功案例分析(1)
- ELK日志系统介绍
- JDBC查询MySQL中的表
- oracle查找重复记录-转
- python 中的流程控制语句
- php调用C#生成的dll(二)
- bzoj5011: [Jx2017]颜色
- svn本地如何切换账号
- MyBatis之Collection
- JavaScript函数作用域与对象以及实用技巧
- centos7 单台zookeeper安装
- 搭建github静态博客
热门文章
- MindManager 2019新版上市 ,了解一下!
- jquery里面的选择器
- VS Code中编写html(3) 标签的宽高颜色背景设置
- centos7 rpm 安装 rabbitMQ 最新版
- MySQL py模块的链接Navicat可视化工具
- Eclipse maven工程 Missing artifact com.sun:tools:jar:1.7.0:system 解决方法
- 解决value toDF is not a member of org.apache.spark.rdd.RDD (spark2.1 )
- Javascript继承(原始写法,非es6 class)
- [luogu3952 noip2017] 逛公园 (计数dp+最短路)
- [luogu4310] 绝世好题 (递推)