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();
  • 相关阅读:
    生产环境常见的几种JVM异常
    JVM垃圾回收时如何确定垃圾?是否知道什么是GCRoots?
    你平时工作用过的JVM常用基本配置参数有哪些?
    java X参数
    JUC之CAS
    JUC之List集合
    JUC之lock
    JUC之volatile
    BZOJ2132: 圈地计划
    BZOJ3991: [SDOI2015]寻宝游戏
  • 原文地址:https://www.cnblogs.com/ghimtim/p/4739593.html
Copyright © 2011-2022 走看看