animation- 动画效果实现(代码中)

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)如果你仅仅就需要一个简单的动画,那么你只需要

时间: 2024-09-30 15:36:44

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

android中xml设置Animation动画效果详解

在 android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation 画面转换动画. tweened animation 渐变动画有以下两种类型: 1.alpha 渐变透明度动画效果 2.scale 渐变尺寸伸缩动画效果 frame by frame animation 画面转换动画有以下两种类型: 1.translate 画面转换位置移动动画效果 2.rotate

android中设置Animation 动画效果

在 Android 中, Animation 动画效果的实现可以通过两种方式进行实现,一种是 tweened animation 渐变动画,另一种是 frame by frame animation 画面转换动画,接下来eoe进行讲解. tweened animation 渐变动画有以下两种类型: 1.alpha   渐变透明度动画效果 2.scale   渐变尺寸伸缩动画效果 frame by frame animation 画面转换动画有以下两种类型: 1.translate  画面转换位置

Android学习——Animation动画效果

1.Android动画模式: 1>tweened animation: 渐变动画: 2>frame by frame: 画面转换动画. 2.Android的Animation动画由四种类型组成: XML alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 Java代码 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimat

android animation动画效果的两种实现方式

animation动画效果两种实现方式 注:此例为AlphaAnimation效果,至于其他效果,换一下对象即可. 1..java文件 代码控制 添加并且开始animation动画 //添加动画效果 AlphaAnimation animation = new AlphaAnimation(0.3f, 1.0f); //设置次效果的持续时间 animation.setDuration(2000); //设置动画的监听事件 animation.setAnimationListener(new An

(四)Android动画开发---Animation动画效果详解

Android 使用Animation的具体操作方法我们将会在这篇文章中做一个详细的介绍.大家可以通过这里举出的代码进行解读,并从中了解到相关操作技巧,方便我们将来开发应用,并且加深对这一操作系统的理解程度. 在Android中,分别可以在xml中定义Animation,也可以在程序代码中定义. 动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转

Android animator Animation动画效果详解

Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果 Android动画模式 Animation主要有两种

Core Animation 动画效果介绍

在开始之前呢,先了解一下UIView和CALayer大体的区别(重点列举了以下四点): UIView继承自 UIResponder,因此UIView 可以处理响应事件,而CALayer继承自NSObject,所以它只是负责内容的创建,绘制. UIView负责对内容的管理,而CALayer则是对内容的绘制 UIView中有关位置的属性只有frame.bounds.center,而CALayer除了具备这些属性之外还有anchorPoint.position. 通过修改CALayer可以实现UIVi

Animation动画效果简单汇总

------------案例结构很复杂一步步来------------ 1.activity_main.xml(首先看启动界面布局文件,里面有2个button) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=&q

UI Animation 动画效果

1 - (void)buttonClicked:(UIButton *)button 2 { 3 // UIView 动画 4 // 1.最简单的动画实现 5 // 参数1:动画执行一次需要的时间 6 // 参数2:动画执行的内容(写动画执行的结果) 7 // [UIView animateWithDuration:10.0 animations:^{ 8 // button.alpha = 0.38; 9 // button.backgroundColor = [UIColor blueCol

ios animation 动画效果实现

1.过渡动画 CATransition CATransition *animation = [CATransition animation]; [animation setDuration:1.0]; [animation setType:kCATransitionFade]; [animation setSubtype:kCATransitionFromLeft]; [_imgPic.layer addAnimation:animation forKey:nil]; 说明: (1).Durat