以下博文讲解比较详细,可查阅:

http://www.360doc.com/content/13/0102/22/6541311_257754535.shtml

几个关键属性:

setRepeatCount(int repeatCount);//设置动画重复执行的次数
setStartOffSet(long startOffSet);//设置动画执行之前的等待时间。
setFillBefore(Boolean fillBefore);//为true则动画执行完成后,回到最初的状态。
setFillAfter(Boolean fillAfter);//为true 动画保持完成状态。
setDuration(long duration);//动画持续时间

以下为自己封装的动画工具类,只是最简单的封装。

  1. package com.create.utilslibrary;
  2.  
  3. import android.content.Context;
  4. import android.view.View;
  5. import android.view.animation.AlphaAnimation;
  6. import android.view.animation.Animation;
  7. import android.view.animation.AnimationSet;
  8. import android.view.animation.DecelerateInterpolator;
  9. import android.view.animation.RotateAnimation;
  10. import android.view.animation.ScaleAnimation;
  11. import android.view.animation.TranslateAnimation;
  12.  
  13. /**
  14. * Created by Administrator on 2016/5/19 0019.
  15. */
  16. public class AnimatorUtils {
  17. /**
  18. * 条目动画
  19. *
  20. * @param context
  21. * @param view
  22. * @param position
  23. */
  24. public static void runEnterAnimation(Context context, View view, int position) {
  25. view.setTranslationY(ScreenUtil.getScreenHight(context));
  26. view.animate()
  27. .translationY(0)
  28. .setStartDelay(100 * (position % 15))
  29. .setInterpolator(new DecelerateInterpolator(3.f))
  30. .setDuration(700)
  31. .start();
  32. }
  33.  
  34. /**
  35. * 渐变动画,淡入淡出 动画完成后保持在结束位置
  36. *
  37. * @param fromAlpha 开始的渐变值 0f 表开始时是全透明 1f表开始时是完全显示 值为 0--1f之间
  38. * @param toAlpha 结束的渐变值 0f 表结束时是全透明 1f表结束时是完全显示 值为 0--1f之间
  39. * @param duration 动画持续时间 毫秒
  40. * @return
  41. */
  42. public static AlphaAnimation getAlpaAnimation(float fromAlpha, float toAlpha, long duration) {
  43. AlphaAnimation alphaAnimation = new AlphaAnimation(fromAlpha, fromAlpha);
  44. alphaAnimation.setDuration(duration);
  45. return alphaAnimation;
  46. }
  47.  
  48. /**
  49. * 平移动画 动画完成后保持在结束位置
  50. * 参考对象是view本身:Animation.RELATIVE_TO_SELF
  51. *
  52. * @param fromXvelue x轴方向 开始的值,相对于view宽度(x轴坐标) 的百分比 0f表示从view的最左侧的坐标点开始动画,1f表示从最右侧开始 值为 0f--1f之间
  53. * @param toXvelue x轴方向 结束的值,相对于view宽度 的百分比 0f表示到view的最左侧坐标点时结束,1f表示到最右侧坐标点结束 值为 0f--1f之间
  54. * @param fromYValue y轴方向 开始的值,相对于view高度(y轴坐标) 的百分比 0f表示从view的最顶部的坐标点开始动画,1f表示从最底部的坐标点开始 值为 0f--1f之间
  55. * @param toYValue y轴方向 结束的值,相对于view高度 的百分比 0f表示到view的最顶部的坐标点时结束,1f表示到底部的坐标点结束 值为 0f--1f之间
  56. * @param duration 动画持续时间
  57. * @return
  58. */
  59. public static TranslateAnimation getTranslateAnimation(float fromXvelue,
  60. float toXvelue,
  61. float fromYValue,
  62. float toYValue,
  63. long duration
  64. ) {
  65. TranslateAnimation translateAnimation = new TranslateAnimation(
  66. Animation.RELATIVE_TO_SELF, fromXvelue, Animation.RELATIVE_TO_SELF, toXvelue,
  67. Animation.RELATIVE_TO_SELF, fromYValue, Animation.RELATIVE_TO_SELF, toYValue
  68. );
  69. translateAnimation.setDuration(duration);
  70. return translateAnimation;
  71. }
  72.  
  73. /**
  74. * 缩放动画 动画完成后保持在结束位置
  75. * @param fromX 开始的x轴大小 相对于自身宽度的比例 0f--1f之间
  76. * @param toX 结束的x轴的大小 相对于自身宽度的比例 0f--1f之间
  77. * @param fromY 开始的y轴大小 相对于自身高度的比例 0f--1f之间
  78. * @param toY 结束的y轴大小 相对于自身高度的比例 0f--1f之间
  79. *
  80. * 以下四个值是确定缩放开始的坐标点。
  81. * @param pivotXType Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT.
  82. * @param pivotXValue 0f--1f之间的值
  83. * @param pivotYType 同上
  84. * @param pivotYValue 同上
  85. * @return
  86. */
  87. public static ScaleAnimation getScaleAnimation(float fromX,
  88. float toX,
  89. float fromY,
  90. float toY,
  91. int pivotXType,
  92. float pivotXValue,
  93. int pivotYType,
  94. float pivotYValue,
  95. long duration
  96. ){
  97. ScaleAnimation scaleAnimation = new ScaleAnimation(fromX, toX, fromY, toY,
  98. pivotXType, pivotXValue, pivotYType, pivotYValue);
  99. scaleAnimation.setDuration(duration);
  100. scaleAnimation.setFillAfter(true);
  101. return scaleAnimation;
  102. }
  103.  
  104. /**
  105. * 旋转动画 保持在结束位置
  106. * @param fromDegrees 开始角度
  107. * @param toDegrees 结束角度
  108. * 以下四个参数用户旋转的圆心
  109. * @param pivotXType 确定x轴坐标参照类型 Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT.
  110. * @param pivotXValue x轴 的坐标值 0f--1f
  111. * @param pivotYType 确定y轴的坐标参照类型 Animation.ABSOLUTE, Animation.RELATIVE_TO_SELF, or Animation.RELATIVE_TO_PARENT.
  112. * @param pivotYValue y轴 的坐标值 0f--1f
  113. * @return
  114. */
  115. public static RotateAnimation getRotateAnimation(float fromDegrees,
  116. float toDegrees,
  117. int pivotXType,
  118. float pivotXValue,
  119. int pivotYType,
  120. float pivotYValue,
  121. long duration
  122. ){
  123. RotateAnimation rotateAnimation=new RotateAnimation(fromDegrees,toDegrees,
  124. pivotXType,pivotXValue,pivotYType,pivotYValue);
  125. rotateAnimation.setDuration(duration);
  126. rotateAnimation.setFillAfter(true);
  127. return rotateAnimation;
  128. }
  129. /**
  130. * 创建动画集合对象
  131. * @param bool true 所有集合中的动画使用 集合的插值器, false表各个动画使用自己的插值器。
  132. * @return
  133. */
  134. public static AnimationSet getAnimationSet(Boolean bool) {
  135. AnimationSet animationSet = new AnimationSet(false);
  136. return animationSet;
  137. }
  138. }

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. Java定时任务Timer、TimerTask与ScheduledThreadPoolExecutor详解

     定时任务就是在指定时间执行程序,或周期性执行计划任务.Java中实现定时任务的方法有很多,本文从从JDK自带的一些方法来实现定时任务的需求. 一.Timer和TimerTask  Timer和Tim ...

  2. less 初试

    第一次接触less,做些记录. 官网     民间中文文档      less notepad++插件 1. 支持变量声明 支持颜色.大小等相加 @nice-blue: #5B83AD; @light ...

  3. 转:python webdriver 环境搭建

    第一节 环境搭建准备工具如下:-------------------------------------------------------------下载 python[python 开发环境]ht ...

  4. C++新手之详细介绍MFC

     MFC (Microsoft Foundation Class Library)中的各种类结合起来构成了一个应用程序框架,它的目的就是让程序员在此基础上来建立Windows下的应用程序,这是一种相对 ...

  5. cocos2d-x游戏开发之烟花粒子效果

    //散烟花及“太”“棒”“了”效果 void mygame::playfire() { sprite *tai = sprite::create("tai.png"); tai-& ...

  6. 为Windows 8新建工具栏模拟“开始菜单”

    微软Windows 8系统的传统桌面中取消了Windows用户熟悉的开始按钮和开始菜单,增加了适合触控操作的磁贴和开始屏幕,部分用户对此感觉不太习惯,认为在传统桌面中还是需要从前那种将所安装程序清晰分 ...

  7. java 枚举类小结 Enum

    好久没有接触枚举类了,差不多都忘了,今天抽出个时间总结一下吧.说实话,枚举类确实能够给我们带来很大的方便. 说明:枚举类它约定了一个范围,可以理解成只可以生成固定的几个对象让外界去调用,故枚举类中的构 ...

  8. C#访问postgresql数据库

    最近开始做C#的DotNet的工作,因为对PostgreSQL数据库比较有兴趣,所以自己研究了一下如何访问PostgreSQL的 数据库的问题. 1.为了访问PostgreSQL数据库,需要从pgfo ...

  9. oracle中的常用语句

    1:查看当前用户的缺省表空间 SELECT USERNAME, DEFAULT_TABLESPACE FROM USER_USERS; 2:查看当前用户的角色 SELECT * FROM USER_R ...

  10. 夺命雷公狗---Thinkphp----13之前台的头尾分离和导航分离

    我们在实际的开发中往往网站的头尾都是分离开来的,而且tp这点做的也很人性化,他给我们留了一个include标签可以直接引入网站的头尾部分. 我们要做的网站当然也不例外,头尾一样分离开来: 我们先用浏览 ...