【Android】补间动画(85/100)

本文详细解读了补间动画在游戏和应用中的运用,包括灰度、平移、缩放和旋转动画实例,并推荐了自研API工具SmartApi,替代Postman的不足。SmartApi简要介绍了其功能特点和下载链接。

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

在这里插入图片描述

补间动画

在游戏和一些应用app动效里经常用到
核心代码如下:

 private Animation alphaAnim, translateAnim, scaleAnim, rotateAnim; // 声明四个补间动画对象

    private void initTweenAnim() {
// 创建一个灰度动画。从完全透明变为即将不透明
        alphaAnim = new AlphaAnimation(1.0f, 0.1f);
        alphaAnim.setDuration(3000); // 设置动画的播放时长
        alphaAnim.setFillAfter(true); // 设置维持结束画面
        // 创建一个平移动画。向左平移100dp
        translateAnim = new TranslateAnimation(1.0f, Utils.dp2px(this, -100), 1.0f, 1.0f);
        translateAnim.setDuration(3000); // 设置动画的播放时长
        translateAnim.setFillAfter(true); // 设置维持结束画面
        // 创建一个缩放动画。宽度不变,高度变为原来的二分之一
        scaleAnim = new ScaleAnimation(1.0f, 1.0f, 1.0f, 0.5f);
        scaleAnim.setDuration(3000); // 设置动画的播放时长
        scaleAnim.setFillAfter(true); // 设置维持结束画面
        // 创建一个旋转动画。围绕着圆心顺时针旋转360度
        rotateAnim = new RotateAnimation(0f, 360f, Animation.RELATIVE_TO_SELF,
                0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        rotateAnim.setDuration(3000); // 设置动画的播放时长
        rotateAnim.setFillAfter(true); // 设置维持结束画面
    }

一般就上面这些类别。复制即可使用

控制动画过程有:

private void playTweenAnim(int type) {
        if (type == 0) { // 灰度动画
            imageView.startAnimation(alphaAnim); // 开始播放灰度动画
            // 给灰度动画设置动画事件监听器
            alphaAnim.setAnimationListener(TweenAnimActivity.this);
        } else if (type == 1) { // 平移动画
            imageView.startAnimation(translateAnim); // 开始播放平移动画
            // 给平移动画设置动画事件监听器
            translateAnim.setAnimationListener(TweenAnimActivity.this);
        } else if (type == 2) { // 缩放动画
            imageView.startAnimation(scaleAnim); // 开始播放缩放动画
            // 给缩放动画设置动画事件监听器
            scaleAnim.setAnimationListener(TweenAnimActivity.this);
        } else if (type == 3) { // 旋转动画
            imageView.startAnimation(rotateAnim); // 开始播放旋转动画
            // 给旋转动画设置动画事件监听器
            rotateAnim.setAnimationListener(TweenAnimActivity.this);
        }
    }



    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        if (animation.equals(alphaAnim)) { // 灰度动画
            // 创建一个灰度动画。从即将不透明变为完全透明
            Animation alphaAnim2 = new AlphaAnimation(0.1f, 1.0f);
            alphaAnim2.setDuration(3000); // 设置动画的播放时长
            alphaAnim2.setFillAfter(true); // 设置维持结束画面
            imageView.startAnimation(alphaAnim2); // 开始播放灰度动画
        } else if (animation.equals(translateAnim)) { // 平移动画
            // 创建一个平移动画。向右平移100dp
            Animation translateAnim2 = new TranslateAnimation(Utils.dp2px(this, -100), 1.0f, 1.0f, 1.0f);
            translateAnim2.setDuration(3000); // 设置动画的播放时长
            translateAnim2.setFillAfter(true); // 设置维持结束画面
            imageView.startAnimation(translateAnim2); // 开始播放平移动画
        } else if (animation.equals(scaleAnim)) { // 缩放动画
            // 创建一个缩放动画。宽度不变,高度变为原来的两倍
            Animation scaleAnim2 = new ScaleAnimation(1.0f, 1.0f, 0.5f, 1.0f);
            scaleAnim2.setDuration(3000); // 设置动画的播放时长
            scaleAnim2.setFillAfter(true); // 设置维持结束画面
            imageView.startAnimation(scaleAnim2); // 开始播放缩放动画
        } else if (animation.equals(rotateAnim)) { // 旋转动画
            // 创建一个旋转动画。围绕着圆心逆时针旋转360度
            Animation rotateAnim2 = new RotateAnimation(0f, -360f,
                    Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
            rotateAnim2.setDuration(3000); // 设置动画的播放时长
            rotateAnim2.setFillAfter(true); // 设置维持结束画面
            imageView.startAnimation(rotateAnim2); // 开始播放旋转动画
        }
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }

搞好动画是搞出游戏和应用app出彩体验的基础

产品推荐

推荐理由

postman在国内使用已经越来越困难:

  1. 当电脑打开软件多一点点使用postman就会电脑卡的让人冒烟
  2. 登录问题严重
  3. Mock功能服务基本没法使用
  4. 版本更新功能已很匮乏
  5. 某些外力因素导致postman以后能否使用风险较大

出于以上考虑因此笔者自己开发了一款api调试开发工具SmartApi,满足基本日常开发调试api需求

官网地址SmartApi

http://www.smartapi.site/

是的,兄弟们,我还是建立了自己的官网!需要下载的大佬直接去官网下载就可以了蛤,顺便看看官网介绍
看下面的简单的
在这里插入图片描述


旧版本已停止维护

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lichong951

你的鼓励决定更新的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值