`
zhouxiaoli521
  • 浏览: 562633 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android中两种使用Animation的方法

阅读更多

 

在Android中,分别可以在xml中定义Animation,也可以在程序代码中定义,下面的小例子是利用RotateAnimation简单展示一下两种方法的用法,对于其他动画,如ScaleAnimation,AlphaAnimation,原理是一样的。

 

方法一:在xml中定义动画:

Xml代码 复制代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3.            
  4. <rotate    
  5.         android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
  6.         android:fromDegrees="0"    
  7.         android:toDegrees="+360"  
  8.         android:duration="3000" />  
  9.            
  10. <!-- rotate 旋转动画效果   
  11.        属性:interpolator 指定一个动画的插入器,用来控制动画的速度变化   
  12.         fromDegrees 属性为动画起始时物件的角度       
  13.         toDegrees   属性为动画结束时物件旋转的角度,+代表顺时针   
  14.         duration  属性为动画持续时间,以毫秒为单位   
  15. -->  
  16. </set>  
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
        
<rotate 
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"
        android:fromDegrees="0" 
        android:toDegrees="+360"
        android:duration="3000" />
        
<!-- rotate 旋转动画效果
       属性:interpolator 指定一个动画的插入器,用来控制动画的速度变化
        fromDegrees 属性为动画起始时物件的角度    
        toDegrees   属性为动画结束时物件旋转的角度,+代表顺时针
        duration  属性为动画持续时间,以毫秒为单位
-->
</set>

 

使用动画的Java代码,程序的效果是点击按钮,TextView旋转一周:

Java代码 复制代码
  1. package com.ray.animation;   
  2.   
  3. import android.app.Activity;   
  4. import android.os.Bundle;   
  5. import android.view.View;   
  6. import android.view.View.OnClickListener;   
  7. import android.view.animation.Animation;   
  8. import android.view.animation.AnimationUtils;   
  9. import android.widget.Button;   
  10. import android.widget.TextView;   
  11.   
  12. public class TestAnimation extends Activity implements OnClickListener{   
  13.     public void onCreate(Bundle savedInstanceState) {   
  14.         super.onCreate(savedInstanceState);   
  15.         setContentView(R.layout.main);   
  16.         Button btn = (Button)findViewById(R.id.Button01);   
  17.         btn.setOnClickListener(this);        
  18.     }   
  19.   
  20.     @Override  
  21.     public void onClick(View v) {   
  22.         Animation anim = AnimationUtils.loadAnimation(this, R.anim.my_rotate_action);   
  23.         findViewById(R.id.TextView01).startAnimation(anim);   
  24.     }   
  25. }  
package com.ray.animation;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.Button;
import android.widget.TextView;

public class TestAnimation extends Activity implements OnClickListener{
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn = (Button)findViewById(R.id.Button01);
        btn.setOnClickListener(this);     
    }

	@Override
	public void onClick(View v) {
		Animation anim = AnimationUtils.loadAnimation(this, R.anim.my_rotate_action);
		findViewById(R.id.TextView01).startAnimation(anim);
	}
}

 

 方法二:直接在代码中定义动画(效果跟方法一类似):

Java代码 复制代码
  1. package com.ray.animation;   
  2.   
  3. import android.app.Activity;   
  4. import android.os.Bundle;   
  5. import android.view.View;   
  6. import android.view.View.OnClickListener;   
  7. import android.view.animation.AccelerateDecelerateInterpolator;   
  8. import android.view.animation.Animation;   
  9. import android.view.animation.RotateAnimation;   
  10. import android.widget.Button;   
  11.   
  12. public class TestAnimation extends Activity implements OnClickListener{   
  13.   
  14.     public void onCreate(Bundle savedInstanceState) {   
  15.         super.onCreate(savedInstanceState);   
  16.         setContentView(R.layout.main);   
  17.         Button btn = (Button)findViewById(R.id.Button);   
  18.         btn.setOnClickListener(this);        
  19.     }   
  20.   
  21.     public void onClick(View v) {   
  22.         Animation anim = null;   
  23.         anim = new RotateAnimation(0.0f,+360.0f);   
  24.         anim.setInterpolator(new AccelerateDecelerateInterpolator());   
  25.         anim.setDuration(3000);   
  26.         findViewById(R.id.TextView01).startAnimation(anim);    
  27.     }   
  28. }  

转载:http://rayleung.iteye.com/blog/413842

表1Animation动画效果

 ================

有待深入,这只是对某个控件播放动画,不知道可不可以应用到activity上,等不忙了查查。

分享到:
评论

相关推荐

    android中的动画(Animation)详解

    Android提供了两种主要的动画类型:帧动画和补间动画,这两种动画各有特点,适用于不同的场景。 **帧动画**是基于一系列连续图像播放来创建动画效果的方法。这类似于传统的卡通制作,每一帧都是一张独立的图片。在...

    Android View中添加Animation.rar

    Android提供了两种基础的动画类型:`Tween Animation`(补间动画)和`Frame Animation`(帧动画)。 - **Tween Animation**:用于改变View的位置、大小、透明度等属性,通过指定起始值和结束值,在一定时间内平滑...

    android动画例子:tween animation and property animation

    本文将深入探讨两种主要的Android动画类型:Tween Animation(平滑动画)和Property Animation(属性动画)。这两种技术都能为应用程序带来生动和交互性的效果,但它们的工作原理和应用场景有所不同。 **Tween ...

    android的ViewPager和Animation的一些使用

    在Android中,`Animation`分为两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画主要用于对象的平移、旋转、缩放和透明度变化等视觉效果,而帧动画则类似于播放一系列静态图像,常用于...

    Android ViewFlipper Animation 使用

    本篇文章将详细探讨如何在Android应用程序中使用ViewFlipper以及如何实现动画效果。 首先,我们需要了解ViewFlipper的基本概念。ViewFlipper是LinearLayout的子类,它可以包含多个子视图,并在需要时显示其中一个。...

    Android的动画animation

    Android提供了两种主要的动画机制:补间动画(Tween Animation)和逐帧动画(Frame Animation),这两种动画方式都能帮助开发者创造出丰富多彩的视觉效果。 **补间动画(Tween Animation)** 补间动画主要用于改变...

    Android 动画 Animation Demo

    Android动画主要分为两种类型:属性动画(Property Animation)和视图动画(View Animation)。本篇将深入探讨这两种动画机制,以及如何在实际项目中应用它们。 1. **视图动画(View Animation)**:视图动画是...

    Android代码-View中添加Animation.zip

    本压缩包"Android代码-View中添加Animation.zip"可能包含了如何在Android应用的`View`中添加这两种动画的相关代码示例。 **视图动画(View Animation)** 视图动画是Android早期版本(API Level 11及以下)中使用...

    android中Animation的简单应用实例

    Android提供了两种主要类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、旋转和透明度等属性,而帧动画则类似于GIF图片,按照预设顺序播放一系列静态图像。...

    Android的Animation和Activity Animation例子

    本文将深入探讨Android中的两种主要动画类型:Tween Animation(补间动画)和Activity Animation,并通过实例讲解如何实现它们。 **1. Tween Animation(补间动画)** 补间动画主要用于对象属性的变化,如大小、...

    Android动画之(PropertyAnimation)属性动画详解(一)

    属性动画(Property Animation)是Android 3.0(API级别11)引入的一种强大的动画系统,它极大地扩展了Android平台上的动画能力,使得开发者能够实现更为复杂和流畅的动态效果。本篇文章将深入探讨属性动画的概念、...

    Android的动画Animation详解

    这两种动画形式能够满足开发者对于基本动画效果的需求。 #### 二、XML中的动画定义 Android动画可以通过XML文件定义,并在运行时通过代码引用这些预定义的动画。以下是一些常见的动画类型及其XML定义: 1. **...

    Android View中添加Animation.zip

    Android提供了两种基本的动画API:`Property Animation`(自Android 3.0 (API level 11) 引入)和`Tween Animation`(自Android 1.0存在)。Tween Animation主要处理对象之间的平滑过渡,包括Alpha(透明度)、...

    2011.10.18——— android 自定义Animation

    在Android中,动画主要分为两种类型:属性动画(Property Animation)和视图动画(View Animation)。属性动画系统在API 11及以上版本引入,提供了更强大的功能,可以改变任何对象的任意属性,并且支持帧动画和插值...

    android gallery和Animation组合使用, 看美女美图

    在`Android`中,动画主要有两种类型:`Property Animation`(API 11+)和`View Animation`(API 1)。对于早期版本的Android,可以使用`View Animation`中的`AlphaAnimation`、`TranslateAnimation`和`...

    AndroidView中添加Animation.zip

    首先,Android提供了两种主要类型的视图动画:属性动画(Property Animation)和视图动画(View Animation)。视图动画在API级别8及以下版本中使用较为广泛,主要包括Alpha(透明度)、Translate(平移)、Rotate...

    Android Animation动画资源文件

    Android Animation主要分为两大类:补间动画(Tween Animation)和帧动画(Frame Animation)。本资源文件主要关注补间动画,这是一种通过改变对象属性(如位置、大小、透明度等)在一段时间内平滑过渡的动画效果。 补...

    Android TweenAnimation源码

    TweenAnimation是Android SDK中提供的一种基础动画类型,它基于帧动画(Frame Animation)的概念,通过平移、旋转、缩放和改变透明度等属性来实现对象的变化效果。让我们深入探索Android TweenAnimation的源码,了解...

Global site tag (gtag.js) - Google Analytics