Android开发之动画效果(帧动画、补间动画)

1、帧动画。依次显示N张图片产生的动画效果。

(1)anim_gif.xml动画文件的代码如下:



    
    
    
    
    ...

(2)声明AnimationDrawable对象来获取ImageView的动画对象,然后调用start()以及stop()方法进行控制即可。

备注:直接在drawable文件下创建动画文件即可。

 

2、补间动画。只需要定义开始动画,以及结束动画“关键帧”,其他动画变化则由系统自动计算并补齐。

1)AlphaAnimation(透明度渐变)

anim_alpha.xml:

属性解释:

fromAlpha :起始透明度
toAlpha:结束透明度
透明度的范围为:0-1,完全透明-完全不透明


2)ScaleAnimation(缩放渐变)

anim_scale.xml

属性解释:

  • fromXScale/fromYScale:沿着X轴/Y轴缩放的起始比例
  • toXScale/toYScale:沿着X轴/Y轴缩放的结束比例
  • pivotX/pivotY:缩放的中轴点X/Y坐标,即距离自身左边缘的位置,比如50%就是以图像的 中心为中轴点

3)TranslateAnimation(位移渐变)

anim_translate.xml

属性解释:

  • fromXDelta/fromYDelta:动画起始位置的X/Y坐标
  • toXDelta/toYDelta:动画结束位置的X/Y坐标

4)RotateAnimation(旋转渐变)

anim_rotate.xml

 

属性解释:

  • fromDegrees/toDegrees:旋转的起始/结束角度
  • repeatCount:旋转的次数,默认值为0,代表一次,假如是其他值,比如3,则旋转4次 另外,值为-1或者infinite时,表示动画永不停止
  • repeatMode:设置重复模式,默认restart,但只有当repeatCount大于0或者infinite或-1时 才有效。还可以设置成reverse,表示偶数次显示动画时会做方向相反的运动!

5)AnimationSet(组合渐变)

非常简单,就是前面几个动画组合到一起而已~

anim_set.xml

  
  
      
  
      
  
      
  
      

  

如何调用?声明一个Animation对象,然后调用AnimationUtils.loadAnimation() 加载动画,接着我们的View控件调用startAnimation开启动画即可。

例如:

 animation = AnimationUtils.loadAnimation(this,
                        R.anim.anim_alpha);
 img_show.startAnimation(animation);

为Fragment设置过渡动画

这里要注意一点,就是Fragment是使用的v4包还是app包下的Fragment! 我们可以调用FragmentTransaction对象的setTransition(int transit) 为Fragment指定标准的过场动画,transit的可选值如下:

  • TRANSIT_NONE:无动画
  • TRANSIT_FRAGMENT_OPEN:打开形式的动画
  • TRANSIT_FRAGMENT_CLOSE:关闭形式的动画

你可能感兴趣的:(Android之动画)