[Android] android 实现加速小火箭动画效果 位移+透明渐变 动画

本文介绍了如何在Android中实现一个类似加速火箭移动的动画,包括位置移动和透明度变化。通过TranslateAnimation进行位移动画,AlphaAnimation处理透明度渐变。详细讲解了位移动画和透明度变化动画的使用,并展示了如何结合两者创建完整的动画效果。
摘要由CSDN通过智能技术生成

【需求分析】

最近要实现一个类似于加速火箭移动的动画,需要带有位置移动和透明度转变的动画。类似于从A到B发生位移动画,且加速小火箭主键显示。而从B到C发生位移动画,且加速小火箭逐渐变暗消失。实现效果如图所示:


【需求拆分】

接到这个需求后,首先将需求进行细分,分为位移动画和逐渐变量(变暗)两个部分。对应的Android的动画类分别是TranslateAnimation(位移动画)和AlphaAniamtion(透明度变化动画)。首先先熟悉一下这两种动画。


1. TranslateAnimation 位移动画

    private void startTranslateAnimation() {
        /**
         * 进行位移动画,标准步骤
         *      1. 创建位移动画对象
         *            构造函数 TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)
         *            参数含义:相对于原图位置   fromXDelta X轴起点相对于原图偏移  toXDelta X轴终点相对于原图偏移
         *                                    fromYDelta Y轴起点相对于原图偏移  toYDelta Y轴终点相对于原图偏移
         *      2. 设置动画终点是否保持 setFillAfter : true 动画结束后留在终点  false:动画结束后返回起点
         */
        TranslateAnimation translateAnimation = new TranslateAnimation(0.0f, 0.0f, 0.0f, -200.0f);
        translateAnimation.setFillAfter(true);
        translateAnimation.setDuration(1000);

        mIVRocket.startAnimation(translateAnimation);
    }

这里需要注意的一个小点:设置FillAfter的值,为true代表动画后View停留在终点位置处(下面左图所示),false代表动画结束后返回起点(下面右图所示)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值