美文网首页
第七章 Android动画深入分析—学习笔记

第七章 Android动画深入分析—学习笔记

作者: Cloud_9527 | 来源:发表于2017-05-20 15:17 被阅读0次

    View动画

    View动画分类

    TranslateAnimation、ScaleAnimation、RotateAnimation、AlphaAnimation共四大类。
    可以在xml中创建动画,也可以再代码中创建。

    自定义View动画

    创建一个继承自Animation的类,重写initialize和applyTransformation方法。initialize这个方法中做初始化的工作,applyTransformation中进行相应的矩阵转变即可。

    帧动画

    是顺序播放一组预先定义好的图片,类似于电影播放。使用AnimationDrawable这个类来播放帧动画。使用方法先在XML文件总定义一个AnimationDraw<animation-list>,再将定义好的Drawable当做View的背景通过Drawable来播放动画。

    LayoutAnimation

    用于ViewGroup,为ViewGroup的子View出场时的动画效果。

    Activity切换效果

    在startActivity()之后或者finish()之后调用overridePendingTransition(int enterAnim,int exitAnim)
    enterAnim Activity打开时的动画id
    exitAnim Activity关闭时的动画id

    属性动画

    ObjectAnimation

    ObjectAnimator a = new ObjectAnimatorofFloat(view,"translationX",300);
        a.setDuration(3000);
        a.start();
        translateX、translateY。X轴Y轴偏移
        scaleX、scaleY。缩放
        pivotX、pivotY。旋转缩放
        x、y。描述View在它所在容器的最终位置
        alpha。透明度
    

    使用ObjectAnimator,非常重要的一点,要操纵的属性必须有get,set方法

    PropertyValuesHolder

    同时进行多种动画效果,类似AnimationSet

    ValueAnimator

    属性动画的核心,ObjectAnimator也是继承自它;它本身不提供任何动画效果,更像是一个数值发生器,产生一定有规律的数字,让调用者来控制动画的实现过程

    动画的监听事件

    ObjectAnimator.addListener(new AnimatorListener());Start、Repeat、End、Cancel 四个过程
    .addListener(new AnimatorListenerAdapter());来实现onAnimationEnd事件
    

    AnimatorSet

    类似7.2.2 PropertyValuesHolder ,但能实现更为精确的顺序控制
    playTogether()、playSequentially()、animSet.play().with()、befor()、after();
    

    XML中使用属性动画

    View的animate方法

    属性动画的一种简写形式
    view.animate().alpha(0).y(300).setDuration(300).withStartAction(new Runnable()).withEndAction(new Runnable()).statr();

    相关文章

      网友评论

          本文标题:第七章 Android动画深入分析—学习笔记

          本文链接:https://www.haomeiwen.com/subject/hhrpxxtx.html