zoukankan      html  css  js  c++  java
  • Android动画效果animation

    1、Tween 根据指定动画开始和结束时的对象属性(位置、Alpha值(透明度)、大小、角度等)以及动画播放的时间长度生成动画;

    2、Frame 指定每一帧所播放的图片和时间长度。
     
    建立动画的方法:
    1、在项目的res文件夹下建立动画资源xml文件,自动加入项目的资源类R中,程序再从资源类中加载动画来使用;
    2、直接在程序代码中建立动画对象并设置相关属性。
     
    具体方法:
    1、在res文件夹下新建anim文件夹,在anim文件夹下新建xml文件,选择set类型;
    2、在xml文件中,新建动画类型标签,例如<scale ></scale>等等;
    3、在程序代码中加载使用(rotate.xml):
        Animation anim = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
        mBtn.startAnimation(anim);
     或者在activity之间跳转时(第一个为退出动画,第二个为显示动画):
        overridePendingTransition(R.anim.fade, R.anim.hold);
     
    View Animation(Tween Animation)
    用XML定义的动画放在/res/anim/文件夹内,XML文件的根元素可以为<alpha>,<scale>,<translate>,<rotate>,interpolator元素或<set>(表示以上几个动画的集合,set可以嵌套)。默认情况下,所有动画是同时进行的,可以通过startOffset属性设置各个动画的开始偏移(开始时间)来达到动画顺序播放的效果。
     
     Tween 4中动画效果:
    属性名称
    属性值
    说明
    interpolator
    @android:anim/accelerate_decelerate_interpolator
    中间快前后慢
    设置变化快慢
    @android:anim/linear_interpolator
    一样快
     
    @android:anim/accelerate_interpolator
    越来越快
     
    @android:anim/decelerate_interpolator
    越来越慢
    startOffset
    整数值
    等待毫秒开始动画
    duration
    整数值
    动画持续毫秒时间
    1、Alpha:
    属性名称
    属性值
    说明
    fromAlpha
    0~1
    开始时透明度
    toAlpha
    0~1
    结束时透明度
    2、Scale
    属性名称
    属性值
    说明
    fromXScale
    0~
    开始时X方向大小比例,1以上代表放大
    toXScale
    0~
    结束时X方向大小比例,1以上代表放大
    pivotX
    0~1
    开始时图像的x坐标,0代表最左边,1代表最右边
    3、Translate
    属性名称
    属性值
    说明
    fromXDelta
    整数值
    开始时x坐标的位移量
    toXDelta
    整数值
    结束时x坐标的位移量
    4、Rotate
    属性名称
    属性值
    说明
    fromDegrees
    整数值
    开始时角度
    toDegrees
    整数值
    结束时角度
    pivotX
    0~1
    开始时图像的x坐标,0代表最左边,1代表最右边

    Drawable Animation(Frame Animation):
    必须以<animation-list>为根元素,oneshot为true表示从头到尾只播放一次,为false表示重复播放,以<item>表示要轮换显示的图片,duration属性表示各项显示的时间。XML文件要在/res/drawable/目录下。
     
    <?xml version="1.0" encoding="utf-8"?>
     <animation-list  
         xmlns:android="http://schemas.android.com/apk/res/android"  
         android:oneshot="false"  
         >  
        <item android:drawable="@drawable/dice01" android:duration="150"></item>  
        <item android:drawable="@drawable/dice02" android:duration="150"></item>  
        <item android:drawable="@drawable/dice03" android:duration="150"></item>  
        <item android:drawable="@drawable/dice04" android:duration="150"></item>  
        <item android:drawable="@drawable/dice05" android:duration="150"></item>  
        <item android:drawable="@drawable/dice06" android:duration="150"></item>   
     </animation-list>  
    

      

     
    程序中加载:
    Resources res = getResources();
    AnimationDrawable animDraw = (AnimationDrawable)res.getDrawable(R.drawable.anim_drawable);
     
    或者直接代码建立:
    AnimationDrawable animDraw = new AnimationDrawable();
    animDraw.setOneShot(false);
    Resources res = getResources();
    animDraw.addFrame(res.getDrawable(R.drawable.img01), 100);
    animDraw.addFrame(res.getDrawable(R.drawable.img02), 100);
     
    播放动画:
    ImgView.setImageDrawable(animDraw);
    animDraw.start();
    ……
    animDraw.stop();
  • 相关阅读:
    flash中网页跳转总结
    as3自定义事件
    mouseChildren启示
    flash拖动条移出flash无法拖动
    需要一个策略文件,但在加载此媒体时未设置checkPolicyFile标志
    Teach Yourself SQL in 10 Minutes
    电子书本地转换软件 Calibre
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes
    Teach Yourself SQL in 10 Minutes – Page 31 练习
  • 原文地址:https://www.cnblogs.com/ghimtim/p/4739593.html
Copyright © 2011-2022 走看看