android 圆圈扩散动画,[Android高级动画] 如何让点扩散再聚合?

本文介绍了如何在Android中实现点的扩散再聚合动画,通过属性动画和OvershootInterpolator插值器,使得点先扩散后聚合。关键步骤包括定义动画、绘制小球以及利用插值器控制扩散和聚合的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何让多个点扩散再聚合?

like this:

12648762f999

效果图

一、如何绘制多个点为一个圆形

该篇主要讲,如何让点扩散再聚合

二、如何让多个点扩散再聚合呢?

1、原理分析:

该效果可分为两步:先将点扩散、再将点聚合在一起。

扩散:可以通过放大,点围成的圆的半径。

聚合:也是一样的,就是缩小点围成的圆的半径。

这里会使用到OvershootInterpolator插值器。该插值器,到一定值后,又会再回到原来位置。刚好可以实现聚合的效果。

2、具体实现:

定义属性动画

//mCircleRadius小球的半径

//mRadius小球围成的圆的半径

ValueAnimator mAnimator = ValueAnimator.ofFloat(mCircleRadius,mRadius);

mAnimator.setDuration(1000);

//OvershootInterpolator 向前甩一定值后再回到原来位置

// (tension=20,影响扩大比例的值)

mAnimator.setInterpolator(new OvershootInterpolator(20f));

//mAnimator.setRepeatCount(2);//默认0,执行一次

mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

//扩散圆的半径的变化值

mCurrentRadius = (float)animation.getAnimatedValue();

invalidate();

}

});

//reverse()动画反向执行

mAnimator.reverse();

绘制小球:

private void drawBallStat

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值