zoukankan      html  css  js  c++  java
  • 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();
    

    效果:

  • 相关阅读:
    Python:Day02
    Python:Day01
    学习Python的第二天
    学习Python的第一天
    MySQL插入中文数据乱码问题
    MySQL数据库应用(11)DML之表和字段
    MySQL数据库应用(10)DML之修改表中的记录
    MySQL数据实战(初步增量恢复)
    MySQL数据库应用(9)DQL之select知识
    MySQL数据库应用(8)DML语句之insert知识
  • 原文地址:https://www.cnblogs.com/yangdd/p/13381542.html
Copyright © 2011-2022 走看看