Drawable Animation

Drawable Animation允许你定义一组Drawable资源来创建动画效果,即由Drawable资源组成的帧动画,一般使用一组图片来,通过定义播放行为属性顺序播放图片资源来实现动画效果。AnimationDrawable用来处理用户定义的Drawable Animation。用户可以把Drawable Animation定义为Drawable并放在 res/drawable/ 目录下,与之定义的xml标签是。官方给出的标准定义如下:


    
    
    

其中:

  • android:oneshot
    循环播放标记,true:循环播放,false:播放一次并停在最后一帧

  • android:duration
    duration用来设置该帧动画的持续时间

如何在代码中使用该动画资源呢,官方给出的示例代码如下

AnimationDrawable rocketAnimation;

public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);

  ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
  rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
  rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
}

public boolean onTouchEvent(MotionEvent event) {
  if (event.getAction() == MotionEvent.ACTION_DOWN) {
    rocketAnimation.start();
    return true;
  }
  return super.onTouchEvent(event);
}

另外,官方建议我们不要再onCreate中执行动画的start方法,因为此时AnimationDrawable还没有真正的被加载到窗口中来。我们可以放在用户点击某个按钮时,或者是放到Activity的onWindowFocusChanged()方法中。

你可能感兴趣的:(Drawable Animation)