Android抖动动画的实现与思考

本文介绍了如何在Android中实现视图抖动动画,对比了使用View Animation和属性动画两种方案。对于需要同时改变大小和旋转角度的定制动画,属性动画提供了更好的效果和更细粒度的控制。View Animation虽然简单,但在某些情况下可能产生不理想的效果。文章提供了代码示例和GitHub上的完整demo链接。
摘要由CSDN通过智能技术生成

大家好,我是光源。在日常使用app或者玩游戏的过程中,我们经常可以看到某个view通过抖动来吸引用户注意,今天就来说说怎么实现这个动画。

具体需求是,实现一个抖动动画要求同时对大小、旋转角度进行更改且可定制

要实现动画,我们首先应该想到的是 Android 中动画相关的内容。

Android 中一共有三类动画:

  • View Animation

    又称补间动画,在 android.view.animation.Animation 类之下衍生了五个子类。

类名 作用
AlphaAnimation 渐变透明度
RotateAnimation 旋转
ScaleAnimation 尺寸缩放
TranslateAnimation 位置平移
AnimationSet 动画集合

​ 通过前四个类,基本可以解决大部分动画需求,再使用 AnimationSet 使动画具有组合的能力。

  • Drawable Animation

​ 又称逐帧动画,通过设置多个帧在一定时间内不断进行帧的变换形成动画的效果,类似 gif 图。通过 xml 中的 animation-list 标签定义动画,再在 java 代码中用 AnimationDrawable 类来进行控制。

  • Property Animation

    View Animation 虽然可以解决大部分动画,但还是有些无法实现,而 Drawable Animation 则太过费时费力,所以在 Android 3.0(API 11)引入了属性动画,属性动画实现原理就是修改控件的属性值实现的动画。具体实现又分为 ValueAnimator 和 ObjectAnimator,这里不展开。

回到需求本身,从需求上看,三种方式都可以实现(其实对最接近动画本质的逐帧动画而言,还真没有不能实现的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值