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

import android.view.animation.LayoutAnimationController;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.Transformation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AlphaAnimation;
import android.view.animation.TranslateAnimation; private Animation myHistoryAnimation;
private LayoutAnimationController myLayoutControl;
private AlphaAnimation myHistoryAlphaAnimation;
private AlphaAnimation myHistoryAlphaAnimationConTime;
private TranslateAnimation myHistoryTranslateAnimation;
private AnimationSet myHistoryAnimationSet; myHistoryAlphaAnimation = new AlphaAnimation(1, 0);
myHistoryAlphaAnimationConTime = new AlphaAnimation(1, 1);
myHistoryAlphaAnimation.setDuration(1000);
myHistoryAlphaAnimationConTime.setDuration(500);
myHistoryAnimationSet = new AnimationSet(true);
/* Vanzo:zhangshuli on: Fri, 20 Mar 2015 14:57:37 +0000
* modify for v5 calculator
myHistoryTranslateAnimation = (TranslateAnimation) AnimationUtils.loadAnimation(
this, R.anim.history_clear_anim);
*/
myHistoryTranslateAnimation = new TranslateAnimation( Animation.RELATIVE_TO_SELF,0f, Animation.RELATIVE_TO_SELF,0f, Animation.RELATIVE_TO_SELF,0f, Animation.RELATIVE_TO_SELF,10f);
myHistoryTranslateAnimation.setDuration(1000);
// End of Vanzo: zhangshuli
myHistoryAnimationSet.setFillAfter(true);
myHistoryAnimationSet.setAnimationListener(new AnimationListener() { @Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub
history_clear_choose.setVisibility(View.GONE); } @Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub } @Override
public void onAnimationEnd(Animation arg0) {
// TODO Auto-generated method stub
android.util.Log.e("zhangshuli", "set");
/* Vanzo:zhangshuli on: Fri, 20 Mar 2015 16:17:24 +0000
* modify for v5 calculator
if (mDrawerLayout.isDrawerVisible(GravityCompat.END)) {
mDrawerLayout.closeDrawer(GravityCompat.END);
}
*/
// End of Vanzo: zhangshuli }
});
myHistoryAlphaAnimation.setAnimationListener(new AnimationListener() { @Override
public void onAnimationStart(Animation arg0) {
// TODO Auto-generated method stub } @Override
public void onAnimationRepeat(Animation arg0) {
// TODO Auto-generated method stub } @Override
public void onAnimationEnd(Animation arg0) {
mHistory.clear();
mLogic.onClear();
android.util.Log.e("zhangshuli", "tran1"); }
});
myHistoryAnimationSet.addAnimation(myHistoryTranslateAnimation);
myHistoryAnimationSet.addAnimation(myHistoryAlphaAnimation);
myHistoryAnimationSet.addAnimation(myHistoryAlphaAnimationConTime);
myLayoutControl = new LayoutAnimationController(myHistoryAnimationSet);
myLayoutControl.setDelay(0.1f);
// myLayoutControl.setOrder(LayoutAnimationController.ORDER_NORMAL);
myLayoutControl.setOrder(LayoutAnimationController.ORDER_REVERSE); mHistoryDisplayList.setLayoutAnimation(myLayoutControl);

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

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

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

   import android.view.animation.AlphaAnimation;   

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

其他的也类似

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

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

view.startAnimation(myAnimation_Alpha);

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

myHistoryAnimationSet = new AnimationSet(true);
 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. JUnit中assertEquals和assertSame方法的不同

    1)提供的接口数量不完全相同. assertEquals支持boolean,long,int等等java primitiveType变量.assertSame只支持Object. 2)比较的逻辑不同, ...

  2. 35.QQ大数据模型

    #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <stri ...

  3. PHP写文件到指定位置

    <?php $fp = fopen("output.json", "r+"); $flag = fseek($fp, -3, SEEK_END); if( ...

  4. Python正则表达式的简单应用和示例演示

    前一阵子小编给大家连续分享了十篇关于Python正则表达式基础的文章,感兴趣的小伙伴可以点击链接进去查看.今天小编给大家分享的是Python正则表达式的简单应用和示例演示,将前面学习的Python正则 ...

  5. express随笔

    Express 是node 第三方框架,框架的意义就在于能大大简化程序地开发.看一下Express是怎么简化node程序开发的. 1,用Express写一个hello world 程序,我们来体验一下 ...

  6. android应用开发-从设计到实现 3-9 Origami动态原型设计

    动态原型设计 动态的可交互原型产品,是产品经理和界面设计师向开发人员阐释自己设计的最高效工具. 开发人员不须要推測设计师要什么样的效果,照着原型产品做就好了. 非常多创业团队也发现了产品人的这个刚需, ...

  7. poj2486--Apple Tree(树状dp)

    Apple Tree Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7789   Accepted: 2606 Descri ...

  8. cocos2d-x 3.2 之 2048 —— 第一篇

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  9. 在JAVA中怎样跳出当前的多重嵌套循环?

    在JAVA中怎样跳出当前的多重嵌套循环?         这道题是考察大家对于break语句的应用.同一时候也是对你多重嵌套循环的使用进行考察.在java中,要想跳出多重循环,能够在外循环语句前面定义 ...

  10. OpenLayers3基础教程——OL3之Popup

    概述: 本节重点讲述OpenLayers3中Popup的调用时实现,OL3改用Overlay取代OL2的Popup功能. 接口简单介绍: overlay跟ol.control.Control一样,是一 ...