1、补间动画(透明渐变、平移、旋转、缩放、组合)

方法一:通过xml文件设置
1-1:创建:res/anim
1-2:java代码写调用
Animation a = AnimationUtils.loadAnimation(this, R.anim.alpha);
img.startAnimation(a);
1-3:设置动画
1-3-1:透明渐变:alpha(透明度设置【0-1】)
开始的透明度:android:fromAlpha="0"
结束的透明度 : android:toAlpha="1"
花费的时间:毫秒android:duration="1000"
1-3-2:平移:translate
起始点的x、y的坐标值:android:fromXDelta="0"、android:fromYDelta="0"
结束点的x、y的坐标值:android:toXDelta="200"、android:toYDelta="200"
花费的时间:毫秒
保持最后的移动状态:android:fillAfter="true"
重复次数:android:repeatCount="3"
重复的效果:restart,reverse:android:repeatMode="restart"
1-3-3:旋转:rotate
起始角度:android:fromDegrees="0"
旋转角度:【-,+】android:toDegrees="-720"
花费的时间:毫秒
中心点:
1.固定值:android:pivotX="500"、android:pivotY="500"
2.相对自身的设置:android:pivotX="50%"、android:pivotY="50%"
3.相对父控件的设置:android:pivotX="50%p"、android:pivotY="50%p"(p代表parent)
1-3-4:缩放:scale
起始x,y的倍数:android:fromXScale="0"、android:fromYScale="0"
结束x,y的倍数:android:toXScale="2"、android:toYScale="2"
花费的时间:毫秒
1-3-5:组合: set
在每一个动画中添加startOffset,然后设置它们的先后顺序
android:startOffset="3000"

方法二:通过代码设置
AnimationSet set = new AnimationSet(true);
直接写相应的属于性
AlphaAnimation alpha = new AlphaAnimation(1f, 0f);
alpha.setDuration(1000);
set.addAnimation(alpha);
iV.startAnimation(set);
或者:
TranslateAnimation m = new TranslateAnimation(fromXType,fromXValue,toXType,toXValue,fromYType,fromYValue,toYType,toYValue);
fromXType:绝对的动画类型(1或是2)
m.setDuration(1500);
set.addAnimation(m);
set.setStartOffset(800);
set.setFillAfter(true);
image.startAnimation(anim1);
也可以根据相应的属性写不同的代码
AlphaAnimation alpha = new AlphaAnimation(0, 0.8f);
alpha.setDuration(1000);
img.startAnimation(alpha);

2、帧动画
2-1:新建文件夹darwable
2-2:新建文件XX.xml,并把所有的图片放进去
<item android:drawable="@drawable/run01" android:duration="100" />
……
2-3:在xml文件的ImageView控件中设置背景为XX.xml
android:background="@drawable/frame"
2-4:用AnimationDrawable控制它
AnimationDrawable ad = (AnimationDrawable) frameImage.getBackground();

3、属性动画
3-1:透明渐变:alpha(透明度设置【0-1】)
ObjectAnimator.offFloat(img,"alpha",0.1f,1.0f).setDuration(2000).start();
3-2:平移:translate
ObjectAnimator.ofFloat(img,"translationX",0f,200f).setDuration(2000).start();
3-3:旋转:rotate
ObjectAnimator.ofFloat(img,"rotationX",0f,720f).setDuration(2000).start();
3-4:缩放:scale
//上面的平移想要达到X轴和Y轴同时平移也可以这样写
ObjectAnimator anim1 = ObjectAnimator.ofFloat(img, "scaleX", 1.0f, 2f);
anim1.setDuration(1000);
anim1.start();
ObjectAnimator.ofFloat(img, "scaleY", 1.0f, 2f).setDuration(2000).start();
3-5:组合: set
AnimatorSet as = new AnimatorSet();
ObjectAnimator oa1 = ObjectAnimator.ofFloat(img, "scaleX", 1.0f, 2f);
ObjectAnimator oa2 = ObjectAnimator.ofFloat(img,"rotateX",0f,720f);
ObjectAnimator oa3 = ObjectAnimator.ofFloat(img,"alpha",0f,0.7f);
as.setDuration(2000).setTarget(img);
as.play(oa1).with(oa2).after(oa3);
as.start();

4、acitivy跳转的动画(多重补间动画循环)
4-1:新建两个动画
4-2:在中转之后设置它的使用
overridePendingTransition(R.anim.face_in, R.anim.face_out);

5、布局动画。
在LinearLayout中添加:
android:animateLayoutChanges="true"

Android动画的使用总结的更多相关文章

  1. Android动画效果之自定义ViewGroup添加布局动画

    前言: 前面几篇文章介绍了补间动画.逐帧动画.属性动画,大部分都是针对View来实现的动画,那么该如何为了一个ViewGroup添加动画呢?今天结合自定义ViewGroup来学习一下布局动画.本文将通 ...

  2. Android动画效果之Property Animation进阶(属性动画)

    前言: 前面初步认识了Android的Property Animation(属性动画)Android动画效果之初识Property Animation(属性动画)(三),并且利用属性动画简单了补间动画 ...

  3. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  4. Android动画效果之Frame Animation(逐帧动画)

    前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...

  5. Android动画效果之Tween Animation(补间动画)

    前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...

  6. Android动画

    [浅谈Android动画] 总共四种:Tween Animation变换动画.Frame Animation帧动画 Layout Animation布局动画.Property Animation 属性 ...

  7. Android动画学习(二)——Tween Animation

    前两天写过一篇Android动画学习的概述,大致的划分了下Android Animation的主要分类,没有看过的同学请移步:Android动画学习(一)——Android动画系统框架简介.今天接着来 ...

  8. Android动画学习(一)——Android动画系统框架简介

    2015-11-09补充:Drawable Animation极有可能是Frame Animation 这几天在找工作,面试的时候被问到了Android动画,之前完全没接触过这部分,直接给懵了,当然其 ...

  9. Android动画的理解

    基础知识 在我们开始讲Android动画这个知识点之前,我们了解下相应的基础知识点. Shape篇 一般用Shape定义的XML文件是存放在Drawable目录下,广泛应用于在Button.TextV ...

  10. Android动画之淡入淡出

    为了更好的说明Android动画的淡入淡出效果,这里以一个场景为例: 界面上有两个View 控件,两个View交替显示,当一个View淡入显示,另一个View淡出不可见. 我们把当前要显示的View叫 ...

随机推荐

  1. play 之定时器job

    play定时任务之job 要创建一个Job,只需要简单地继承play.jobs.Job类就可以. 一些常用的注解: @Every("1h")         每隔1小时执行一次 @ ...

  2. Android中ScrollView嵌套GridView,解决GridView显示不全的问题

    /** * 自定义gridview,解决ScrollView中嵌套gridview显示不正常的问题(1行半) * */ public class MyGridView extends GridView ...

  3. 各种设备的CSS3 MediaQuery整理及爽歪歪写法

    链接:http://dwz.cn/1gZQ06 ------------------------------------------------------ 备注:内容未测试过,转载的,留着备用. - ...

  4. bootstrap ace treeview树表

    html部分 <div class="widget-main padding-8" style="height:400px;overflow-y: scroll;& ...

  5. Redis认识

    摘要:认识Redis 1.安装Redis npm install redis 2.Redis使用 var redis = require("redis"), client = re ...

  6. 《数据结构与算法分析:C语言描述_原书第二版》CH3表、栈和队列_reading notes

    表.栈和队列是最简单和最基本的三种数据结构.基本上,每一个有意义的程序都将明晰地至少使用一种这样的数据结构,比如栈在程序中总是要间接地用到,不管你在程序中是否做了声明. 本章学习重点: 理解抽象数据类 ...

  7. CollectionView添加头尾部

    //上下拉头尾部 self.collectionView.footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self ref ...

  8. [转]java工程师成神之路

    转载http://www.hollischuang.com/archives/489https://linux.cn/article-6739-1.html 一.基础篇 1.1 JVM 1.1.1. ...

  9. 。。。mkdir与mkdirs的区别。。。

    一直想知道他俩的区别,也一直忘记了,知道今天才没有放过这个机会! mkdir的用法是正创建一层目录,比如说在C盘下创建aa文件夹,c:\aa,这个aa是不存在的,这个话,是可以用mkdir创建的,但是 ...

  10. 算法第四版 在Eclipse中调用Algs4库

    首先下载Eclipse,我选择的是Eclipse IDE for Java Developers64位版本,下载下来之后解压缩到喜欢的位置然后双击Eclipse.exe启动 然后开始新建项目,File ...