android animation

动画

2种Animation模式:

1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转、淡入淡出)产生动画效果,即是一种渐变动画;

2. Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。

Tween Animation

两种实现方式xml和code

 

xml:

alpha        渐变透明度动画效果

scale        渐变尺寸伸缩动画效果

translate  画面转换位置移动动画效果

rotate      画面转移旋转动画效果

 

代码中set为集合类,xml中同样

单个动画格式如下

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

</set>

多个动画混合

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

    <scale>

    <translate>

    <rotate>

</set>

 

代码调用:

mAnimation = AnimationUtils.loadAnimation(ExpAnimation.this, R.layout.my_rotate); 

v.startAnimation(mAnimation);

 

存放路径:随便放 试了res/anim 和 res/layout都可以。

startOffset属性延迟多久开始动画,当多个效果一起显示时,可以通过这个属性调节动画开始时间,达到先后顺序的效果。

code:

AlphaAnimation渐变透明度动画效果

ScaleAnimation渐变尺寸伸缩动画效果

TranslateAnimation画面转换位置移动动画效果

RotateAnimation画面转移旋转动画效果

 

单个动画

mAnimation = new AlphaAnimation(0.1f, 1.0f);

v.startAnimation(mAnimation);

多个动画混合

AnimationSet mAnimationSet = new AnimationSet(true);
mAnimation = new AlphaAnimation(0.1f, 1.0f); 
mAnimationSet.addAnimation(mAnimation);

v.startAnimation(mAnimationSet );

 

Frame Animation

xml中定义播放帧数据

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="true" >

    <item
        android:drawable="@drawable/but1"
        android:duration="200"/>

</animation-list>

 

code中调用

        mImageView.setImageResource(R.anim.my_frame);//android:src中不设置,在这里设置
        AnimationDrawable mAnimationDrawable=(AnimationDrawable)mImageView.getDrawable();//取到动画,后面可以控制该动画,

        mAnimationDrawable.start();

 

你可能感兴趣的:(animation)