保姆级【快数学会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中写入渐变代码
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><alphaandroid: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
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><rotateandroid:fromDegrees="0"android:toDegrees="360"android:duration="1000"android:pivotX="50%"android:pivotY="50%"android:repeatCount="infinite"android:repeatMode="reverse"/>
</set>
(2)scale_anim
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><scaleandroid: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
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"><translateandroid: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代码汇总
//渐变ImageView lion_img = findViewById(R.id.imageView );Button alpha_btn = findViewById(R.id.button);alpha_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic 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() {@Overridepublic 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() {@Overridepublic 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() {@Overridepublic 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按钮,图片实现轮播效果
感谢各位读者的阅读!希望大家给出一键三连,多多支持原创。有错误和不解的地方,欢迎各位读者在评论区讨论,我也会不断学习不断改进,做出更加优质的作品!!!
相关代码资源(点击跳转)