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

摘要:
隔行动画和属性动画隔行动画是一种视觉现象,不会更改视图的真实值和属性。属性动画确实会更改视图的属性值(例如XY坐标、宽度和高度等)。属性动画的重要类别是ValueAnimatorObjectAnimatorOfFloat()translationXtranslationYalpharotationrotationX…示例1://沿Y轴移动500,执行时间为2000ms,start()启动tv

补间动画和属性动画

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

属性动画重要的类

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

示例1

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

效果:

Android开发笔记(二十四)——属性动画第1张

示例2

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

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

效果:

Android开发笔记(二十四)——属性动画第2张

示例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();

效果:
Android开发笔记(二十四)——属性动画第3张

示例4

ObjectAnimator.ofFloat()的使用:

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

效果:

Android开发笔记(二十四)——属性动画第4张

免责声明:文章转载自《Android开发笔记(二十四)——属性动画》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android 2.1 源码结构分析npm script 自动打开浏览器 All In One下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android中xml设置Animation动画效果详解

在Android中,Animation动画效果的实现可以通过两种方式进行实现,一种是tweened animation渐变动画,另一种是frame by frame animation画面转换动画。 tweened animation渐变动画有以下两种类型: 1.alpha 渐变透明度动画效果 2.scale 渐变尺寸伸缩动画效果 frame by fra...

UE4-动画/蒙太奇/融合(Animation/montage/blend)相关笔记

Q.定义状态机动画蓝图事件:   Q.Animation/Montage指定帧触发事件(Event): (注意:单帧动画需要取消勾选Teleport to Explicit Time,否则无法触发帧事件) Q.C++自定义 Animation Blueprint(动画蓝图) 自己很少用C++写Skeleton动画相关的逻辑,通常Anim的BP满足大部分...

WPF左右移动动画实现

//boxItem要移动的控件               DoubleAnimation doubleAnimation = newDoubleAnimation(); doubleAnimation.Duration = newDuration (...

Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法

一、概述 Android的animation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《Animation Resources》 1、XML配置文件中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotat...

IOSUIView之动画效果的实现方法

一、使用UIView类实现动画 基本写法,代码必须放在Begin和Commit之间: [UIView beginAnimations:nil context:nil]; // 开始动画 // Code... [UIView commitAnimations]; // 提交动画 简单例子: [UIView beginAnimations:nil contex...

Android Activity的切换动画(overridePendingTransition)

overridePendingTransition 1.平时Activity的切换是就是从中间弹出来,然后遮盖住之前的Activity。这种效果看到很多后就想给他换成其他的效果,如: 要显示的Acitvity从左边往右的平移进入,被遮盖的Activity从左往右的平移划出。 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介...