View体系之属性动画
(内容省略了valueAnimator和PropertyValueHolder使用)
属性动画的使用的主要方式是AnimatorSet和ObjectAnimator配合使用.ObjectAnimator控制一个对象和一个属性,多个ObjectAnimator组合到AnimatorSet可以实现丰富的动画效果.
一.ObjectAnimator单独使用
ObjectAnimator mobjectAnimator=ObjectAnimator.ofFloat(view,"translationX",200);
mobjectAnimator.setDuration(300);
mobjectAnimator.start();
除了设置时长以外,还可以设置插值器.其可以常用的直接使用的属性动画属性值有:
translationX,translationY//平移
rotation,rotationX,rotationX//旋转
PrivotX,PrivotY//支点
alpha//透明度
x,y//View最终位置
二.监听动画过程
mobjectAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
三.组合动画
AnimatorSet使用play(Animator anim)传入动画
并且通过以下方法插入新动画:
after(Animator anim)
after(long delay)//延迟指定毫秒后执行
with(Animator anim)
before(Animator anim)
ObjectAnimator Animator1 = ObjectAnimator.ofFloat(view, "translationX", 200);
ObjectAnimator Animator2 = ObjectAnimator.ofFloat(view, "ScaleX", 1.0f, 2.0f);
ObjectAnimator Animator3 = ObjectAnimator.ofFloat(view, "rotationX", 0.0f, 90.0f);
AnimatorSet set=new AnimatorSet();
set.setDuration(2000);
set.play(Animator1).with(Animator2).after(Animator3);
set.start();
View体系之属性动画的更多相关文章
- android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览
支持:https://www.cnblogs.com/whoislcj/p/5738478.html translationX的效果: protected void onCreate(Bundle s ...
- Android Animation学习(四) ApiDemos解析:多属性动画
Android Animation学习(四) ApiDemos解析:多属性动画 如果想同时改变多个属性,根据前面所学的,比较显而易见的一种思路是构造多个对象Animator , ( Animator可 ...
- 属性动画(Property Animation)资源
Animator 代表一个属性动画,但它只是一个抽象类,通常会使用它的子类:AnimatorSet.ValueAnimator.ObjectAnimator.TimeAnimator. 定义属性动画的 ...
- android 属性动画
一直再追郭霖的博客和imooc上的一些新的视频,最近有讲到属性动画. 以下内容为博客学习以及imooc上视频资料的学习笔记: 在3.0之前比较常见的动画为tween动画和frame动画: tween动 ...
- 详解Android属性动画
前面我们讲到的属性动画都是使用代码的定义方式:Android属性动画之ValueAnimator和Android属性动画之ObjectAnimator和AnimatorSet,下面我们再来看看使用XM ...
- 第三部分:Android 应用程序接口指南---第四节:动画和图形---第一章 属性动画及动画与图形概述
第1章 属性动画及动画与图形概述 Android提供了一系列强大的API来把动画加到UI元素中,以及绘制自定义的2D和3D图像中去.下面的几节将综述这些可用的API以及系统的功能,同时帮你做出最优的选 ...
- Android笔记之属性动画
前言.动画分类 例如以下图所看到的,Android的动画主要分为三种: 以下首先说说 属性动画 所谓属性动画-- 就是指对象的属性值发生了变化,如控件位置和透明度等. 举例,如今要实现一个按键先下移. ...
- Android图文具体解释属性动画
Android中的动画分为视图动画(View Animation).属性动画(Property Animation)以及Drawable动画.从Android 3.0(API Level 11)開始. ...
- Android View体系(三)属性动画
上一篇文章讲了View滑动的六种方法,其中一种是使用动画,这篇文章我们来讲一讲动画的其中一种:属性动画. 1.android视图动画和属性动画 视图动画我们都了解,它提供了AlphaAnimation ...
随机推荐
- python高级-深浅拷贝(16)
一.浅拷贝 浅拷贝是对一个对象的顶层拷贝,通俗地讲就是:拷贝了引用,并没有拷贝内容. a = [1,2,3] print(id(a)) b=a print(b) print(id(b)) a.appe ...
- docker镜像打包save,载入load,启动run
docker打包,针对的是镜像,而不是运行中的容器. 查看当前系统的镜像文件:docker images 将当前运行中的,已经自定义修改后的容器保存为新的镜像. docker commit ce11e ...
- 深入理解JavaScript原型:prototype,__proto__和constructor
JavaScript语言的原型是前端开发者必须掌握的要点之一,但在使用原型时往往只关注了语法,其深层的原理并未理解透彻.本文结合笔者开发工作中遇到的问题详细讲解JavaScript原型的几个关键概念, ...
- python不同开根号速度对比
import time import math import numpy as np def timeit1(): s = time.time() for i in range(750000): z= ...
- 小问题填坑,关于obj.x和obj["x"]
之前在看对象的api中for in函数时,有一个地方让我略有疑惑: var obj={ x:100, y:200, z:300 }; for(var key in obj){ if(obj.hasOw ...
- 使用IntelliJ IDEA新建Java Web后端resfulAPI模板
初始化项目 打开IntelliJ IDEA,我的版本是Version 2018.1.4.点击Create New Project.在左侧的列表中选择Maven.然后在右侧勾选Create from a ...
- Chapter 4 Invitations——9
I didn't want to get into the safety hazards that dancing presented, so I quickly made new plans. 我不 ...
- 【整理】WDK 和 DDK异同
WDK和DDK的作用 开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发 WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WIND ...
- 深入学习主成分分析(PCA)算法原理(Python实现)
一:引入问题 首先看一个表格,下表是某些学生的语文,数学,物理,化学成绩统计: 首先,假设这些科目成绩不相关,也就是说某一科目考多少分与其他科目没有关系,那么如何判断三个学生的优秀程度呢?首先我们一眼 ...
- SpringBoot自动配置源码调试
之前对SpringBoot的自动配置原理进行了较为详细的介绍(https://www.cnblogs.com/stm32stm32/p/10560933.html),接下来就对自动配置进行源码调试,探 ...