保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录

补间动画

1.创建资源文件夹

2.设置文件夹类型

3.创建.xml文件

4.样式设计

5.动画设置

6.动画的实现

内容拓展

7.在原基础上继续添加.xml文件

8.xml代码编写

(1)rotate_anim

(2)scale_anim

(3)translate_anim

9.MainActivity.java代码汇总

10.效果展示

逐帧动画

1.在drawable中添加loading_anim文件

2.样式设计

3.MainActivity.java代码

4.效果展示


补间动画

1.创建资源文件夹

2.设置文件夹类型

3.创建.xml文件

4.样式设计

在drawable文件中添加照片

5.动画设置

在alpha_anim.xml中写入渐变代码

javascript 复制代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:fromAlpha="1.0"
        android:toAlpha="0.0"
        android:duration="1000"
        android:repeatCount="10"
        android:repeatMode="restart"
        android:interpolator="@android:anim/linear_interpolator"
        />
</set>

6.动画的实现

将动画与按钮控件进行绑定

在MainActivity.java中写入代码

以上为实现渐变动画的代码


内容拓展

继续实现缩放、旋转、平移等动画效果

7.在原基础上继续添加.xml文件

8.xml代码编写

(1)rotate_anim
javascript 复制代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <rotate
        android:fromDegrees="0"
        android:toDegrees="360"
        android:duration="1000"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="infinite"
        android:repeatMode="reverse"
        />
</set>
(2)scale_anim
javascript 复制代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:fromXScale="1.0"
        android:toXScale="0.5"
        android:fromYScale="1.0"
        android:toYScale="0.5"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatMode="reverse"
        android:repeatCount="infinite"
        android:duration="3000"
        />
</set>
(3)translate_anim
javascript 复制代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0.0"
        android:toXDelta="100"
        android:fromYDelta="0.0"
        android:toYDelta="0.0"
        android:repeatCount="infinite"
        android:repeatMode="reverse"
        android:duration="3000"
        />
</set>

9.MainActivity.java代码汇总

javascript 复制代码
 //渐变
        ImageView lion_img = findViewById(R.id.imageView );
        Button alpha_btn = findViewById(R.id.button);
        alpha_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //加载动画
                Animation alpha_animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.alpha_anim);
                //在控件上执行动画
                lion_img.startAnimation(alpha_animation);
            }
        });
        //缩放
        Button rotate_anim = findViewById(R.id.button3);
        rotate_anim.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Animation rotate_animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.rotate_anim);
                lion_img.startAnimation(rotate_animation);
            }
        });
        //旋转
        Button scale_anim = findViewById(R.id.button2);
        scale_anim.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Animation rotate_animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.scale_anim);
                lion_img.startAnimation(rotate_animation);
            }
        });
        //平移
        Button translate_anim = findViewById(R.id.button4);
        translate_anim.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Animation rotate_animation = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.translate_anim);
                lion_img.startAnimation(rotate_animation);
            }
        });

10.效果展示

补间动画效果实现


逐帧动画

1.在drawable中添加loading_anim文件

该文件用于存储导入的多张照片,可视为集合。

创建后代码编写

2.样式设计

导入的imageView图片选用loading_anim集合,而非单张静态照片!!!!!!

3.MainActivity.java代码

4.效果展示

点击start_btn按钮,图片实现轮播效果


感谢各位读者的阅读!希望大家给出一键三连,多多支持原创。有错误和不解的地方,欢迎各位读者在评论区讨论,我也会不断学习不断改进,做出更加优质的作品!!!

相关代码资源(点击跳转)

相关推荐
葡萄城技术团队7 小时前
1000 人协同压测的环境瓶颈排查:CPU 争用与 Wi\-Fi
前端
excel8 小时前
Marked 与 Markdown 有什么区别?该怎么选?
前端
Da Da 泓9 小时前
五子棋 Web 端测试用例报告
前端·网络·websocket·网络协议·测试用例·项目
zxcvb15310 小时前
远程查看本地文档:一条轻量 Web 文件服务的工程化链路
前端·远程查看文档
niucloud-admin10 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
北岛贰10 小时前
啵啵音乐迎来全新升级!
前端
hkNaruto12 小时前
【AI】基于大模型的AI游戏地图生成、控制方案:AI Native Game Harness 迁移操作手册
前端·人工智能·游戏
IT_陈寒12 小时前
Java序列化踩坑记:对象循环引用让我加班两小时
前端·人工智能·后端
Acro13 小时前
快给macOS 上的Grok Bot换一套皮肤
前端
flash俊杰13 小时前
双引擎 OCR 编排:逐页判定、视觉优先、partial 语义与三层超时
前端