【转】android 属性动画之 ObjectAnimator
原文网址:http://blog.csdn.net/feiduclear_up/article/details/39255083
前面一篇博客讲解了 android 简单动画之 animtion,这里来讲解一下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();
更多关于android 属性动画的相关知识请参考详细博客 Android属性动画Property Animation系列一之ValueAnimator
【转】android 属性动画之 ObjectAnimator的更多相关文章
- Android属性动画之ObjectAnimator
相信对于Android初学者,对于Android中的动画效果一定很感兴趣,今天为大家总结一下刚刚学到的属性动画案例. 首先和一般的Android应用一样,我们先建一个工程,为了方便,我们的布局文件中就 ...
- Android 属性动画框架 ObjectAnimator、ValueAnimator ,这一篇就够了
前言 我们都知道 Android 自带了 Roate Scale Translate Alpha 多种框架动画,我们可以通过她们实现丰富的动画效果,但是这些宽家动画却有一个致命的弱点,它们只是改变了 ...
- Android属性动画之ObjectAnimator控制
Android为我们提供了大量的动画效果,如何通过这些动画来达到我们需要的效果呢?今天就为大家总结一下ObjectAnimator动画控制事件. 该项目的的布局文件只有两个控件:ImageView和B ...
- 详解Android属性动画
前面我们讲到的属性动画都是使用代码的定义方式:Android属性动画之ValueAnimator和Android属性动画之ObjectAnimator和AnimatorSet,下面我们再来看看使用XM ...
- Android属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/43536355 大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法 ...
- Android属性动画ObjectAnimator的使用1
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/106 属性动画ObjectAnimator的使用 属性动画 ...
- Android 属性动画ObjectAnimator和ValueAnimator讲解
区别: ObjectAnimator 是直接对某个view进行更改. ValueAnimator 根据 TimeInterpolator 在不断产生相应的数据,来传进view ,view自己做改变. ...
- Android属性动画
这几天看郭神的博客 Android属性动画完全解析(上),初识属性动画的基本用法之后,我自己突然想实现一种动画功能,就是我们在携程网.阿里旅行等等手机APP端买火车票的时候,看到有选择城市,那么就有出 ...
- Android属性动画完全解析(下)
转载:http://blog.csdn.net/guolin_blog/article/details/44171115 大家好,欢迎继续回到Android属性动画完全解析.在上一篇文章当中我们学习了 ...
随机推荐
- css position static | absolute | fixed | relative
<div id="bigbox1"> <div id="box1" class="box">box1</ ...
- IE7下z-index混乱问题(转)
浏览器兼容性问题太让人蛋疼了,今天可是废在了IE7的z-index问题上.可又不能因为浏览器版本低而不去解决,毕竟要从用户的角度着想.百度了好多还是无法解决,最后google了一下,找到了方法. 直接 ...
- Math类常用方法(Java)
三角函数: public static double sin (double radians) public static double cos(double radians) public stat ...
- 使用Cargo实现自动化部署
Cargo是一组帮助用户操作Web容器的工具,它能帮助用户实现自动化部署,而且它几乎支持所有的Web容器,如Tomcat.JBoss.Jetty和Glassfish.Cargo通过cargo-mave ...
- BZOJ3669 (动态树)
Problem 魔法森林 (NOI2014) 题目大意 给n个点,m条边的无向图,每条边有两个权值a,b. 求一条从1-->n的路径,使得这条路径上max(a)+max(b)最小.输出最小值即可 ...
- XML代码生成器——XMLFACTORY 简介(四)
XML代码生成器——XMLFACTORY 简介(四) 这一篇我们讲“类属性”页签的配置功能,您将了解到:如何为元素子值指定类属性的名称,数据类型,及容器类型. 如果,你没看过这个系列的第一篇文章,请先 ...
- oracle远程连接配置
今日需要对站内所有的空间数据做入库处理,所以在服务器上安装了oracle,在本地需要对其进行连接,在网上查阅了相关资料,整理如下: 远程服务端配置:1. 数据库配置 因为要为外界客户端提供数据服 ...
- Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法
Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法 最近几天从网上找了几个asp.net的登录案例想要研究研究代码,结果在用 Sql Server2005附 ...
- python自动化框架nose
python除了unittest,还有一款更快捷的nose,nose可以说是对unittest的一种简化吧 但是他不需要unittest那种必须有固有的格式,他只需要文件,类名,方法名等含有test就 ...
- linux标准io的copy
---恢复内容开始--- 1.linux标准io的copy #include<stdio.h> int main(int argc,char **argv) { if(argc<3) ...