1,首先我们看一下如下的代码

  1. import android.view.animation.LayoutAnimationController;
  2. import android.view.animation.Animation.AnimationListener;
  3. import android.view.animation.Transformation;
  4. import android.view.animation.Animation.AnimationListener;
  5. import android.view.animation.AlphaAnimation;
  6. import android.view.animation.TranslateAnimation;
  7.  
  8. private Animation myHistoryAnimation;
  9. private LayoutAnimationController myLayoutControl;
  10. private AlphaAnimation myHistoryAlphaAnimation;
  11. private AlphaAnimation myHistoryAlphaAnimationConTime;
  12. private TranslateAnimation myHistoryTranslateAnimation;
  13. private AnimationSet myHistoryAnimationSet;
  14.  
  15. myHistoryAlphaAnimation = new AlphaAnimation(1, 0);
  16. myHistoryAlphaAnimationConTime = new AlphaAnimation(1, 1);
  17. myHistoryAlphaAnimation.setDuration(1000);
  18. myHistoryAlphaAnimationConTime.setDuration(500);
  19. myHistoryAnimationSet = new AnimationSet(true);
  20. /* Vanzo:zhangshuli on: Fri, 20 Mar 2015 14:57:37 +0000
  21. * modify for v5 calculator
  22. myHistoryTranslateAnimation = (TranslateAnimation) AnimationUtils.loadAnimation(
  23. this, R.anim.history_clear_anim);
  24. */
  25. myHistoryTranslateAnimation = new TranslateAnimation(
  26.  
  27. Animation.RELATIVE_TO_SELF,0f,
  28.  
  29. Animation.RELATIVE_TO_SELF,0f,
  30.  
  31. Animation.RELATIVE_TO_SELF,0f,
  32.  
  33. Animation.RELATIVE_TO_SELF,10f);
  34. myHistoryTranslateAnimation.setDuration(1000);
  35. // End of Vanzo: zhangshuli
  36. myHistoryAnimationSet.setFillAfter(true);
  37. myHistoryAnimationSet.setAnimationListener(new AnimationListener() {
  38.  
  39. @Override
  40. public void onAnimationStart(Animation arg0) {
  41. // TODO Auto-generated method stub
  42. history_clear_choose.setVisibility(View.GONE);
  43.  
  44. }
  45.  
  46. @Override
  47. public void onAnimationRepeat(Animation arg0) {
  48. // TODO Auto-generated method stub
  49.  
  50. }
  51.  
  52. @Override
  53. public void onAnimationEnd(Animation arg0) {
  54. // TODO Auto-generated method stub
  55. android.util.Log.e("zhangshuli", "set");
  56. /* Vanzo:zhangshuli on: Fri, 20 Mar 2015 16:17:24 +0000
  57. * modify for v5 calculator
  58. if (mDrawerLayout.isDrawerVisible(GravityCompat.END)) {
  59. mDrawerLayout.closeDrawer(GravityCompat.END);
  60. }
  61. */
  62. // End of Vanzo: zhangshuli
  63.  
  64. }
  65. });
  66. myHistoryAlphaAnimation.setAnimationListener(new AnimationListener() {
  67.  
  68. @Override
  69. public void onAnimationStart(Animation arg0) {
  70. // TODO Auto-generated method stub
  71.  
  72. }
  73.  
  74. @Override
  75. public void onAnimationRepeat(Animation arg0) {
  76. // TODO Auto-generated method stub
  77.  
  78. }
  79.  
  80. @Override
  81. public void onAnimationEnd(Animation arg0) {
  82. mHistory.clear();
  83. mLogic.onClear();
  84. android.util.Log.e("zhangshuli", "tran1");
  85.  
  86. }
  87. });
  88. myHistoryAnimationSet.addAnimation(myHistoryTranslateAnimation);
  89. myHistoryAnimationSet.addAnimation(myHistoryAlphaAnimation);
  90. myHistoryAnimationSet.addAnimation(myHistoryAlphaAnimationConTime);
  91. myLayoutControl = new LayoutAnimationController(myHistoryAnimationSet);
  92. myLayoutControl.setDelay(0.1f);
  93. // myLayoutControl.setOrder(LayoutAnimationController.ORDER_NORMAL);
  94. myLayoutControl.setOrder(LayoutAnimationController.ORDER_REVERSE);
  95.  
  96. mHistoryDisplayList.setLayoutAnimation(myLayoutControl);

2.从以上的代码中我们可以发现。代码中定义动画的话,有个好处,就是比较灵活,可以根据我们的需要动态的更改动画的时间等属性。当然,你也会看到它代码的重用性非常的糟糕。

1)创建动画:其实就是new一个相应的动画就行了

2)然后就是设置动画的属性值,时间等

  1.    import android.view.animation.AlphaAnimation;
  2.  
  3.   AlphaAnimation alphaAnimation=new AlphaAnimation( 1f,0.5f);
  4. //动画时间
  5. alphaAnimation.setDuration(1000);
  6. //动画结束以后是否应用,false的话,会返回初始位置
  7. alphaAnimation.setFillAfter(true);
  8. //设置动画动作样式
  9. alphaAnimation.setInterpolator(this,android.R.anim.accelerate_decelerate_interpolator);

其他的也类似

  1. import android.view.animation.Animation;
  2. import android.view.animation.TranslateAnimation;
  3. TranslateAnimation translateAnimation = new TranslateAnimation(
  4. //第一个参数:相对于父类还是自身比例 第二个其实x坐标
  5. Animation.RELATIVE_TO_SELF, 0f,
  6. //起始y坐标
  7. Animation.RELATIVE_TO_SELF,0f,
  8. //结束x坐标
  9. Animation.RELATIVE_TO_SELF,0f,
  10. //结束y坐标
  11. Animation.RELATIVE_TO_SELF,10f);

3)如果你仅仅就需要一个简单的动画,那么你只需要在一个控件上start这个动画就行了,如下

  1. view.startAnimation(myAnimation_Alpha);

4)如果你希望把几个动画进行复合,这时候你需要借助

  1. myHistoryAnimationSet = new AnimationSet(true);
  1. myHistoryAnimationSet.addAnimation(myHistoryTranslateAnimation);

AnimationSet 其实就相当于一个动画容器,可以把不同的动画效果合为一个复合动画进行

animation- 动画效果实现(代码中)的更多相关文章

  1. Android中xml设置Animation动画效果详解

    在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...

  2. android中设置Animation 动画效果

    在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation ...

  3. 模仿百度首页“元宵节汤圆”动图,并实现360°不停旋转(CSS3的animation动画效果)

    模仿百度首页“元宵节汤圆”动图,并实现360°不停旋转(CSS3的animation动画效果) 效果图: 切图地址: https://ss1.bdstatic.com/5eN1bjq8AAUYm2zg ...

  4. 右上角鼠标滑过展开收缩动画效果js代码的演示页面

    http://files.cnblogs.com/files/tanlingdangan/top_right.rar.gz 右上角鼠标滑过展开收缩动画效果js代码的演示页面http://www.51x ...

  5. android Animation 动画效果介绍

    Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动 ...

  6. ios animation 动画效果实现

    1.过渡动画 CATransition CATransition *animation = [CATransition animation]; [animation setDuration:1.0]; ...

  7. Android Animation动画效果简介

    AlphaAnimation 淡入淡出动画  <alpha>A fade-in or fade-out animation. Represents an AlphaAnimation. a ...

  8. Animation(动画效果)

    Ctrl+6打开Animation窗口.选择物体,点击录制,保存录制文件后即为给该物体添加了动画效果. Animation可以修改某时间点的物体位置.大小.材质球上的所有属性.碰撞器等等. 可以通过修 ...

  9. H5中需要掌握的 ANIMATION 动画效果

    CSS3的动画在PC网页上或者APP上用得越来越多,比如H5页面的应用,目前在营销传播上的意义比较大,还有企业官网或者APP主要介绍也用得比较多,当然还有很多地方都用到.所以学习css的动画也迫在眉睫 ...

  10. UITableview reloadData Animation 动画效果

    http://blog.kingiol.com/blog/2013/10/22/uitableview-reloaddata-with-animation/ 运用到UITableview进行重新加载数 ...

随机推荐

  1. iOS菜鸟成长笔记(1)——第一个iOS应用

    前言:阳光小强最近抽时间学习iOS开发,在学习过程中发现了很多有趣的东西也遇到了很多问题,为了在学习过程中能和大家交流,记录下学习的心得和学习成果,所以就有了这一个系列文章,希望这一系列文章能形成一个 ...

  2. vue父子间通信案列三($emit和prop用法)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. HDU 4513 吉哥系列故事――完美队形II

    http://acm.hdu.edu.cn/showproblem.php?pid=4513 吉哥系列故事——完美队形II Time Limit: 3000/1000 MS (Java/Others) ...

  4. Aspose.Cells相应操作及下载

    Aspose.Cells相应操作 1,上传 1.1 Workbook Workbook workBook = new Workbook(); 属性: 名称 值类型 说明 Colors Color[] ...

  5. Android学习总结(1)——好的 Android 开发习惯

    Android编码规范 java代码中不出现中文,最多注释中可以出现中文: 局部变量命名.静态成员变量命名:只能包含字母,单词首字母出第一个都为大写,其他字母都为小写: 常量命名:只能包含字母和 ,字 ...

  6. Springboot集成mybatis通用Mapper与分页插件PageHelper

    插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 Example 相关的单表操作.通用 Mapper 是为了解决 MyBatis 使用 ...

  7. 《linux 内核全然剖析》编译linux 0.12 内核 Ubuntu 64bits 环境

    我×.. . 最终好了,大概3 4个小时吧...各种毛刺问题.终究还是闯过来了.. .. ubuntu2@ubuntu:~/Downloads/linux-0.00-050613/linux-0.00 ...

  8. jquery autocomplete文本自己主动补全

    文本自己主动补全功能确实非常有用. 先看下简单的效果:(样式不咋会写) 以下介绍几种: 1:jqery-actocomplete.js 这个网上有个写好的实例,上面挺具体的,能够下来执行下就清楚了就不 ...

  9. 【Oracle】使用bbed恢复delete的数据

    表中的数据被delete之后并不会真正删除数据,而是打了一个删除标记,仅仅要还没有被覆盖就能够恢复回来. 实验步骤例如以下: SYS@ORCL>create table bbed_test(x  ...

  10. js -- 分页功能

    html 代码 <html> <head> <meta charset='utf-8'> <script type="text/javascript ...