Android 自绘动画效果---小清新等待

本文介绍了如何在Android中创建一个等待动画效果,该效果包括小圆点旋转、弹跳和水波纹扩散三个部分。通过计算屏幕中心点和每个小圆的角度来绘制旋转效果,并利用策略模式切换不同动画状态。文中详细讲解了各个动画的实现原理,并提供了完整的代码示例。
摘要由CSDN通过智能技术生成

【独具匠心http://my.csdn.net/songxin393764941 未经允许严禁转载,请尊重作者劳动成果。我的博客

今天给大家带来的是一个等待的动画效果↓

看到我的照片有没有被迷到啊偷笑随后我只能感叹一下岁月了

好,OK,下面我们来分析一下这个效果,收下我们可以看出这个动画是由三个动画组成,

1:6个小圆点的旋转.

2:一个弹一下的效果

3:一个水波纹扩散的效果

好的,下面我们就一个一个的来说一下。

首先我们说一下这个6个小球的旋转,我们都可以看出,这个六个小球也是在画一个大圆,所以我们只要把大圆的半径确定了之后,在计算每个小圆的角度,再不断的进行绘制是不是就可以了?对,没错,就是这样的。那么在这之前我们是不是应该找到中间大圆的中心点,并且计算出半径啊。

其实这个中心点就是屏幕对角线的一半,请看代码


【独具匠心http://my.csdn.net/songxin393764941 未经允许严禁转载,请尊重作者劳动成果。我的博客

通过在onSizeChanged方法中的计算之后,我们就可以确定了中间空心圆的中心点了,那么我们还要确定的就是这个每个小圆每次的角度,所以我们需要在绘制之前进行起算。因为会不止一次使用,所以我就直接写了一个方法,大家请看!


上面我已经把注释写的很清楚了,不懂的也可以留言再问,我会给大家解释的。

看完上面的代码,之后,你肯定在想,如果一直绘制小圆,最后小圆是不是就不止6个啊 ,是不是每绘制一次就+6个小圆啊,没错,所以我们在绘制之前还需要把之前的擦掉,怎么擦呢?很简单,调用canvas.drawColor(mSplashBgColor);把整个画布画成白色不就完事了。

【独具匠心http://my.csdn.net/songxin393764941 未经允许严禁转载,请尊重作者劳动成果。我的博客

那么我们应该怎么启动呢?又到了这次的亮点了。再分析下啊,刚才我们也说了,这个动画效果是由三个效果组成的,也可以说是动画分为三个状态,那么可不可用一个变量引用不同的对象来达到不同的效果呢?答案是肯定的,这就是策略模式!所以我在这里写了一个抽象类。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值