A012-anim资源

anim资源这里特指Android中的View Animation(视图动画),然而视图动画分为:

  • Tween Animation(补间动画)
  • Frame Animation(逐帧动画)

Tween Animation

文件路径:res/anim/filename.xml
这样的一个资源指向一个Animation对象
资源引用:

  • Java中引用:R.anim.filename
  • XML中引用:@anim/filename

语法



    
    
    
    
    
        ...
    


这些标签都可以作为根标签,代表一种动画,其中 可以包含以上所有标签,我们可以通过 和其他标签组合设计多种多样的动画效果。
下面逐个解析标签的作用:

代表一个AnimationSet
属性:

  • android:interpolator (插值器)
  • android:shareInterpolator(是否在所有的元素中分享插值器)

代表一个AlphaAnimation,淡入淡出动画
属性:

  • android:fromAlpha(开始透明度,0.0-完全透明 1.0-不完全透明)
  • android:toAlpha(结束透明度,0.0-完全透明 1.0-不完全透明)

代表一个ScaleAnimation,缩放动画
属性:

  • android:fromXScale(开始时X方向上相对自身的缩放比例,1.0表示没有变化)
  • android:toXScale(结束时X方向上相对自身的缩放比例)
  • android:fromYScale(开始时Y方向上相对自身的缩放比例)
  • android:toYScale(结束时Y方向上相对自身的缩放比例)
  • android:pivotX(缩放X轴位置,50表示绝对位置,50%表示相对自身,50%p表示相对父控件)
  • android:pivotY(缩放Y轴位置,取值同上)

代表一个TranslateAnimation,偏移动画

  • android:fromXDelta(动画起始时 X坐标上的位置 )
  • android:toXDelta(动画结束时 X坐标上的位置)
  • android:fromYDelta(动画起始时 Y坐标上的位置 )
  • android:toYDelta(动画结束时 Y坐标上的位置 )

取值举例:
android:toXDelta="100%",表示自身的100%,也就是从View自己的位置开始
android:toXDelta="80%p",表示父层View的80%,是以它父层View为参照的

代表一个RotateAnimation, 旋转动画
属性:

  • android:fromDegrees(动画开始时角度)
  • android:toDegrees(动画结束时角度)
  • android:pivotX(旋转中心的X坐标)
  • android:pivotY(旋转中心的Y坐标)

补间动画例子:


    
    
        
        
    

代码中使用:

ImageView image = (ImageView) findViewById(R.id.image);
Animation hyperspaceJump = AnimationUtils.loadAnimation(this, R.anim.hyperspace_jump);
image.startAnimation(hyperspaceJump);

Frame Animation

文件路径:res/drawable/filename.xml
这样的一个资源指向一个AnimationDrawable对象
资源引用:

  • Java中引用:R.drawable.filename
  • XML中引用:@drawable/filename

语法



    

属性:

  • android:oneshot(是否只播放一次)

例子:



    
    
    

一个item表示一帧,一帧对应一张图片,duration表示持续的时间。

代码中使用:

ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);

rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketAnimation.start();

本节课主要讲解了Android中anim资源的知识点和具体使用方法,如需要获取更详细的资料,可以访问以下地址:
http://www.android-doc.com/guide/topics/resources/animation-resource.html

欢迎关注我的公众号:wwjblog

你可能感兴趣的:(A012-anim资源)