文档章节

Android 动画 之 ObjectAnimator

Freewheel
 Freewheel
发布于 2015/08/16 22:26
字数 477
阅读 647
收藏 14

android 3.0之后添加的一些动画   animator 中的 ObjectAnimator


补间动画能实现的:

1.alpha 透明度

//第一个参数为 view对象,第二个参数为 动画改变的类型,第三,第四个参数依次是开始透明度和结束透明度。
	ObjectAnimator alpha = ObjectAnimator.ofFloat(text, "alpha", 0f, 1f);
	alpha.setDuration(2000);//设置动画时间
	alpha.setInterpolator(new DecelerateInterpolator());//设置动画插入器,减速
	alpha.setRepeatCount(-1);//设置动画重复次数,这里-1代表无限
	alpha.setRepeatMode(Animation.REVERSE);//设置动画循环模式。
	alpha.start();//启动动画。



2.scale


       AnimatorSet animatorSet = new AnimatorSet();//组合动画
	ObjectAnimator scaleX = ObjectAnimator.ofFloat(text, "scaleX", 1f, 0f);
	ObjectAnimator scaleY = ObjectAnimator.ofFloat(text, "scaleY", 1f, 0f);
	animatorSet.setDuration(2000);
	animatorSet.setInterpolator(new DecelerateInterpolator());
	animatorSet.play(scaleX).with(scaleY);//两个动画同时开始
	animatorSet.start();



3.translate


ObjectAnimator translationUp = ObjectAnimator.ofFloat(button, "Y",button.getY(), 0);
	translationUp.setInterpolator(new DecelerateInterpolator());
	translationUp.setDuration(1500);
	translationUp.start();



4. rotate

AnimatorSet set = new AnimatorSet() ;             
        ObjectAnimator anim = ObjectAnimator .ofFloat(phone, "rotationX", 0f, 180f); 
        anim.setDuration(2000); 
        ObjectAnimator anim2 = ObjectAnimator .ofFloat(phone, "rotationX", 180f, 0f); 
        anim2.setDuration(2000); 
        ObjectAnimator anim3 = ObjectAnimator .ofFloat(phone, "rotationY", 0f, 180f); 
        anim3.setDuration(2000); 
        ObjectAnimator anim4 = ObjectAnimator .ofFloat(phone, "rotationY", 180f, 0f); 
        anim4.setDuration(2000); 
         
        set.play(anim).before(anim2); //先执行anim动画之后在执行anim2
        set.play(anim3).before(anim4) ; 
        set.start();



补间动画不能实现的:

5.android 改变背景颜色的动画实现如下

ObjectAnimator translationUp = ObjectAnimator.ofInt(button,
				"backgroundColor", Color.RED, Color.BLUE, Color.GRAY,
				Color.GREEN);
		translationUp.setInterpolator(new DecelerateInterpolator());
		translationUp.setDuration(1500);
		translationUp.setRepeatCount(-1);
		translationUp.setRepeatMode(Animation.REVERSE);
		/*
		 * ArgbEvaluator:这种评估者可以用来执行类型之间的插值整数值代表ARGB颜色。
		 * FloatEvaluator:这种评估者可以用来执行浮点值之间的插值。
		 * IntEvaluator:这种评估者可以用来执行类型int值之间的插值。
		 * RectEvaluator:这种评估者可以用来执行类型之间的插值矩形值。
		 * 
		 * 由于本例是改变View的backgroundColor属性的背景颜色所以此处使用ArgbEvaluator
		 */

		translationUp.setEvaluator(new ArgbEvaluator());
		translationUp.start();


关于Animation更详细的教程:

 Android属性动画Property Animation系列一之ValueAnimator:

http://blog.csdn.net/feiduclear_up/article/details/45893619


 Android属性动画Property Animation系列二之ObjectAnimator

http://blog.csdn.net/feiduclear_up/article/details/45915377






本文转载自:http://blog.csdn.net/feiduclear_up/article/details/39255083

共有 人打赏支持
Freewheel
粉丝 8
博文 83
码字总数 48265
作品 0
普陀
程序员
Android应用资源---动画资源(Animation Resources)

有两种类型的动画资源: 属性动画 在设定的时间内,通过修改与Animator类相关的对象的属性值来创建一个动画。 视图动画 有两种类型的视图动画框架 补间动画(Tween animation):通过执行通过...

davidpark
2014/02/01
0
0
Android View动画开发笔记

1. android动画分为view动画、帧动画和属性动画,属性动画是API 11(Android 3.0)的新特性,帧动画一般也认为是view动画 1.1 view动画 平移动画 TranslateAnimation 缩放动画 ScaleAnimation...

燊在锦官城_
2016/07/21
0
0
Android开发之漫漫长途 XVII——动画(续)

该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列。该系列引用了《Android开发艺术探索》以及《深入理解Android 卷Ⅰ,Ⅱ...

马飞标
08/13
0
0
Android动画绘制原理(源码解析)

个人博客地址 http://dandanlove.com/ 前言 Android 平台提供了三类动画,一类是 Tween 动画-Animation,即通过对场景里的对象不断做图像变换 ( 平移、缩放、旋转 ) 产生动画效果;第二类是 ...

静默加载
04/30
0
0
【Animations】用动画移动视图(5)

原文 概要 屏幕上的对象通常需要重新定位。这可能是由于用户交互或在幕后完成某些处理而发生的。而不是立即更新对象位置,这会导致它从一个区域闪烁到另一个区域,您应该使用动画将其从开始位...

lichong951
05/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
今天
6
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
14
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部