天天看点

Android中动画的几种编程方式

 1、加载XML的方式

在众多动画的编程方式中,我最喜欢用这种方式,原因很简单,直观,方便修改……看看一个实例代码:

新建一个aimn的文件夹,在此文件夹里面新建一个XML动画,里面包含动画的各种属性。

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android">

<rotate

android:interpolator="@android:anim/accelerate_decelerate_interpolator"

android:fromDegrees="0"

android:toDegrees="360"

android:pivotX="0%"

android:pivotY="50%"

android:duration="1000"

/>

</set>

然后以代码的方式加载,下面是一个加载XML动画的部分代码:

 Animation mAnimationRotate = AnimationUtils.loadAnimation(mContext, R.anim.rotate_animation);

                startAnimation(mAnimationRotate);

这种方式适用于自定义View中加载动画。主要用来设置Frame 动画,即顺序播放事先做好的图像,和电影类似。

2、这种方式也属于加载XML的动画

该动画是放置在一个ImageView的控件里播放的,所以必须先将此动画设为ImageView的背景,然后再get出来,接着调用Animation的start()方法启动动画。大概代码如下:

explo是一个ImageView的对象

explo.setBackgroundResource(R.anim.explosion);

anim = (AnimationDrawable) explo.getBackground();

anim.start();

3、硬编码的方式

这种方式比较灵活,当然,这种方式也属于自定义View中播放动画,示例代码如下:

mAnimationRotate = new RotateAnimation(0.0f, +360.0f,

Animation.RELATIVE_TO_SELF, 0.5f,

Animation.RELATIVE_TO_SELF, 0.5f);

mAnimationRotate.setDuration(1000);

this.startAnimation(mAnimationRotate);

2和3主要用来设置Frame动画。