Android动画机制总结笔记--逐帧动画 FrameAnimation篇

注意:本篇文章是本人阅读关于Android动画的文章所写下的总结,方便以后查阅,所有内容非原创,侵权删。

本篇文章内容来自于

  1. Android高级进阶 顾浩鑫
  2. Android自定义控件三部曲文章索引之动画篇

目录

2.逐帧动画 FrameAnimation/DrawableAnimation

2.逐帧动画 FrameAnimation/DrawableAnimation

运用场景:设计师给出一系列状态不断变化的图片,开发者可以指定每一帧对应的图片和持续的时间,就可以开始播放动画。

实现方式分为:XML实现+代码实现

XML实现

1.将图片资源放在res/drawable里
2.在res/drawable中新建帧动画(直接new drawable resource file 即可)



    
    
    

android:oneshot="false" 用来控制动画是否循环播放
android:duration="100"指定每一帧的播放持续时间

3.播放帧动画

ImageView iv_frame_show = findViewById(R.id.iv_frame_show);
//播放动画
iv_frame_show.setImageResource(R.drawable.anim_frame);
AnimationDrawable drawable = (AnimationDrawable) iv_frame_show.getDrawable();
drawable.start();
code代码实现

1.将图片资源放在res/drawable里
2.代码实现

ImageView iv_frame_show = findViewById(R.id.iv_frame_show);
//设置+播放动画
AnimationDrawable animationDrawable = new AnimationDrawable();
for (int i = 1; i <= 5; i++) {
  int id = getResources().getIdentifier("pic" + i, "drawable", getPackageName());
  Drawable drawable1 = getResources().getDrawable(id);
  animationDrawable.addFrame(drawable1, 120);
}
iv_frame_show.setBackgroundDrawable(animationDrawable);
animationDrawable.start();

你可能感兴趣的:(Android动画机制总结笔记--逐帧动画 FrameAnimation篇)