• Android开发笔记(二十四)——属性动画


    补间动画和属性动画

    补间动画是一种视觉现象,并没有改变View真正的值和属性
    属性动画真正改变了View的属性值(如XY的坐标,宽度高度等等)

    属性动画重要的类

    • ValueAnimator
    • ObjectAnimator.ofFloat()
      translationX translationY alpha rotation rotationX…

    示例1

    //沿着Y轴移动500,执行时间为2000ms,start()启动
    tvTest.animate().translationYBy(500).setDuration(2000).start();
    

    效果:

    示例2

    这个是通过View自带的方法实现了属性动画的功能:

    //两秒钟之内透明度变成0
    tvTest.animate().alpha(0).setDuration(2000).start();
    

    效果:

    示例3

    ValueAnimator的用法:
    值的变化

            ValueAnimator valueAnimator = ValueAnimator.ofInt(0,100);
            valueAnimator.setDuration(2000);
            //添加一个监听器
            valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                @Override
                public void onAnimationUpdate(ValueAnimator animation) {
                    //valueAnimator实际的值
                    Log.d("valueAnimator实际的值",animation.getAnimatedValue()+"");
                    //动画的进度0-1
                    Log.d("动画的进度",animation.getAnimatedFraction()+"");
                }
            });
            valueAnimator.start();
    

    效果:

    示例4

    ObjectAnimator.ofFloat()的使用:

    ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(tvTest,"translationY",0,500,200,800);
    objectAnimator.setDuration(2000);
    objectAnimator.start();
    

    效果:

  • 相关阅读:
    android 学习四 ContentProvider
    andriod 学习三 使用android资源
    andriod学习二 设置开发环境
    andriod学习一
    python学习笔记七
    python学习五
    python学习笔记六
    python学习笔记四
    python学习笔记三
    算法题---数组元素循环右移
  • 原文地址:https://www.cnblogs.com/yangdd/p/13381542.html
Copyright © 2020-2023  润新知