`
寻梦者
  • 浏览: 637668 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android中的 animation

阅读更多

  • 动画效果编程基础--AnimationAndroid   
  •   
  • 动画类型   
  •   
  • Android的animation由四种类型组成   
  •   
  • XML中   
  • alpha   
  • 渐变透明度动画效果   
  • scale   
  • 渐变尺寸伸缩动画效果   
  • translate   
  • 画面转换位置移动动画效果   
  • rotate   
  • 画面转移旋转动画效果   
  •   
  •   
  • JavaCode中   
  • AlphaAnimation   
  • 渐变透明度动画效果   
  • ScaleAnimation   
  • 渐变尺寸伸缩动画效果   
  • TranslateAnimation   
  • 画面转换位置移动动画效果   
  • RotateAnimation   
  • 画面转移旋转动画效果   
  •   
  • Android动画模式   
  •   
  • Animation主要有两种动画模式:   
  •   
  • 一种是tweened animation(渐变动画)   
  • XML中   
  • JavaCode   
  • alpha   
  • AlphaAnimation   
  • scale   
  • ScaleAnimation   
  •   
  •   
  • 一种是frame by frame(画面转换动画)   
  • XML中   
  • JavaCode   
  • translate   
  • TranslateAnimation   
  • rotate   
  • RotateAnimation   
  •   
  •   
  •   
  • 如何在XML文件中定义动画   
  •   
  • ① 打开Eclipse,新建Android工程   
  • ② 在res目录中新建anim文件夹   
  • ③ 在anim目录中新建一个myanim.xml(注意文件名小写)   
  • ④ 加入XML的动画代码   
  • <?xml version="1.0" encoding="utf-8"?>   
  • <set xmlns:android="http://schemas.android.com/apk/res/android">   
  •   <alpha/>   
  •   <scale/>   
  •   <translate/>   
  •   <rotate/>   
  • </set>   
  • 复制代码   
  •   
  •   
  • Android动画解析--XML   
  •   
  • <alpha>   
  • <?xml version="1.0" encoding="utf-8"?>   
  • <set xmlns:android="http://schemas.android.com/apk/res/android" >   
  • <alpha   
  • android:fromAlpha="0.1"   
  • android:toAlpha="1.0"   
  • android:duration="3000"   
  •   
  • />   
  • <!-- 透明度控制动画效果 alpha   
  •         浮点型值:   
  •             fromAlpha 属性为动画起始时透明度   
  •             toAlpha   属性为动画结束时透明度   
  •             说明:   
  •                 0.0表示完全透明   
  •                 1.0表示完全不透明   
  •             以上值取0.0-1.0之间的float数据类型的数字   
  •           
  •         长整型值:   
  •             duration  属性为动画持续时间   
  •             说明:       
  •                 时间以毫秒为单位   
  • -->   
  • </set>   
  • 复制代码   
  •   
  •   
  • <scale>   
  • <?xml version="1.0" encoding="utf-8"?>   
  • <set xmlns:android="http://schemas.android.com/apk/res/android">   
  •    <scale    
  •           android:interpolator=   
  •                      "@android:anim/accelerate_decelerate_interpolator"   
  •           android:fromXScale="0.0"   
  •           android:toXScale="1.4"   
  •           android:fromYScale="0.0"   
  •           android:toYScale="1.4"   
  •           android:pivotX="50%"   
  •           android:pivotY="50%"   
  •           android:fillAfter="false"   
  •           android:startOffset=“700”   
  •           android:duration="700" />   
  • </set>   
  • <!-- 尺寸伸缩动画效果 scale   
  •        属性:interpolator 指定一个动画的插入器   
  •         在我试验过程中,使用android.res.anim中的资源时候发现   
  •         有三种动画插入器:   
  •             accelerate_decelerate_interpolator  加速-减速 动画插入器   
  •             accelerate_interpolator        加速-动画插入器   
  •             decelerate_interpolator        减速- 动画插入器   
  •         其他的属于特定的动画效果   
  •       浮点型值:   
  •            
  •             fromXScale 属性为动画起始时 X坐标上的伸缩尺寸      
  •             toXScale   属性为动画结束时 X坐标上的伸缩尺寸       
  •           
  •             fromYScale 属性为动画起始时Y坐标上的伸缩尺寸      
  •             toYScale   属性为动画结束时Y坐标上的伸缩尺寸     
  •             startOffset  属性为从上次动画停多少时间开始执行下个动画   
  •           
  •             说明:   
  •                  以上四种属性值      
  •       
  •                     0.0表示收缩到没有   
  •                     1.0表示正常无伸缩       
  •                     值小于1.0表示收缩    
  •                     值大于1.0表示放大   
  •           
  •             pivotX     属性为动画相对于物件的X坐标的开始位置   
  •             pivotY     属性为动画相对于物件的Y坐标的开始位置   
  •           
  •             说明:   
  •                     以上两个属性值 从0%-100%中取值   
  •                     50%为物件的X或Y方向坐标上的中点位置   
  •           
  •         长整型值:   
  •             duration  属性为动画持续时间   
  •             说明:   时间以毫秒为单位   
  •   
  •         布尔型值:   
  •             fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用   
  • -->   
  • 复制代码   
  •   
  •   
  • <translate>   
  •   
  • <?xml version="1.0" encoding="utf-8"?>   
  • <set xmlns:android="http://schemas.android.com/apk/res/android">   
  • <translate   
  • android:fromXDelta="30"   
  • android:toXDelta="-80"   
  • android:fromYDelta="30"   
  • android:toYDelta="300"   
  • android:duration="2000"   
  • />   
  • <!-- translate 位置转移动画效果   
  •         整型值:   
  •             fromXDelta 属性为动画起始时 X坐标上的位置      
  •             toXDelta   属性为动画结束时 X坐标上的位置   
  •             fromYDelta 属性为动画起始时 Y坐标上的位置   
  •             toYDelta   属性为动画结束时 Y坐标上的位置   
  •             注意:   
  •                      没有指定fromXType toXType fromYType toYType 时候,   
  •                      默认是以自己为相对参照物               
  •         长整型值:   
  •             duration  属性为动画持续时间   
  •             说明:   时间以毫秒为单位   
  • -->   
  • </set>   
  • 复制代码   
  •   
  • <rotate>   
  •   
  • <?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="+350"           
  •         android:pivotX="50%"   
  •         android:pivotY="50%"       
  •         android:duration="3000" />    
  • <!-- rotate 旋转动画效果   
  •        属性:interpolator 指定一个动画的插入器   
  •              在我试验过程中,使用android.res.anim中的资源时候发现   
  •              有三种动画插入器:   
  •                 accelerate_decelerate_interpolator   加速-减速 动画插入器   
  •                 accelerate_interpolator               加速-动画插入器   
  •                 decelerate_interpolator               减速- 动画插入器   
  •              其他的属于特定的动画效果   
  •                              
  •        浮点数型值:   
  •             fromDegrees 属性为动画起始时物件的角度      
  •             toDegrees   属性为动画结束时物件旋转的角度 可以大于360度     
  •           
  •             说明:   
  •                      当角度为负数——表示逆时针旋转   
  •                      当角度为正数——表示顺时针旋转                
  •                      (负数from——to正数:顺时针旋转)     
  •                      (负数from——to负数:逆时针旋转)   
  •                      (正数from——to正数:顺时针旋转)   
  •                      (正数from——to负数:逆时针旋转)         
  •   
  •             pivotX     属性为动画相对于物件的X坐标的开始位置   
  •             pivotY     属性为动画相对于物件的Y坐标的开始位置   
  •                   
  •             说明:        以上两个属性值 从0%-100%中取值   
  •                          50%为物件的X或Y方向坐标上的中点位置   
  •   
  •         长整型值:   
  •             duration  属性为动画持续时间   
  •             说明:       时间以毫秒为单位   
  • -->   
  • </set>   
  • 复制代码   
  •   
  •   
  • 如何使用XML中的动画效果   
  • public static Animation loadAnimation (Context context, int id)   
  • //第一个参数Context为程序的上下文      
  • //第二个参数id为动画XML文件的引用   
  • //例子:   
  • myAnimationAnimationUtils.loadAnimation(this,R.anim.my_action);   
  • //使用AnimationUtils类的静态方法loadAnimation()来加载XML中的动画XML文件   
  • 复制代码   
  •   
  •   
  • 如何在Java代码中定义动画   
  • //在代码中定义 动画实例对象   
  • private Animation myAnimation_Alpha;   
  • private Animation myAnimation_Scale;   
  • private Animation myAnimation_Translate;   
  • private Animation myAnimation_Rotate;   
  •       
  •     //根据各自的构造方法来初始化一个实例对象   
  • myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);   
  •   
  • myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,   
  •              Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);   
  •   
  • myAnimation_Translate=new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);   
  •   
  • myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,   
  •                Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);   
  • 复制代码   
  •   
  •   
  • Android动画解析--JavaCode   
  •   
  •   
  • AlphaAnimation   
  •   
  • ① AlphaAnimation类对象定义   
  • private AlphaAnimation myAnimation_Alpha;   
  • 复制代码   
  • ② AlphaAnimation类对象构造   
  • AlphaAnimation(float fromAlpha, float toAlpha)   
  • //第一个参数fromAlpha为 动画开始时候透明度   
  • //第二个参数toAlpha为 动画结束时候透明度   
  • myAnimation_Alpha=new AlphaAnimation(0.1f, 1.0f);   
  • //说明:   
  • //                0.0表示完全透明   
  • //                1.0表示完全不透明   
  • 复制代码   
  • ③ 设置动画持续时间   
  • myAnimation_Alpha.setDuration(5000);   
  • //设置时间持续时间为 5000毫秒   
  • 复制代码   
  •   
  •   
  •   
  • ScaleAnimation   
  •   
  • ① ScaleAnimation类对象定义   
  • private AlphaAnimation myAnimation_Alpha;   
  • 复制代码   
  • ② ScaleAnimation类对象构造   
  • ScaleAnimation(float fromX, float toX, float fromY, float toY,   
  •            int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)   
  • //第一个参数fromX为动画起始时 X坐标上的伸缩尺寸      
  • //第二个参数toX为动画结束时 X坐标上的伸缩尺寸       
  • //第三个参数fromY为动画起始时Y坐标上的伸缩尺寸      
  • //第四个参数toY为动画结束时Y坐标上的伸缩尺寸    
  • /*说明:   
  •                     以上四种属性值      
  •                     0.0表示收缩到没有   
  •                     1.0表示正常无伸缩       
  •                     值小于1.0表示收缩    
  •                     值大于1.0表示放大   
  • */   
  • //第五个参数pivotXType为动画在X轴相对于物件位置类型    
  • //第六个参数pivotXValue为动画相对于物件的X坐标的开始位置   
  • //第七个参数pivotXType为动画在Y轴相对于物件位置类型     
  • //第八个参数pivotYValue为动画相对于物件的Y坐标的开始位置   
  • myAnimation_Scale =new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f,   
  •              Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);   
  • 复制代码   
  • ③ 设置动画持续时间   
  • myAnimation_Scale.setDuration(700);   
  • //设置时间持续时间为 700毫秒   
  • 复制代码   
  •   
  •   
  •   
  • TranslateAnimation   
  •   
  •   
  • ① TranslateAnimation类对象定义   
  • private AlphaAnimation myAnimation_Alpha;   
  • 复制代码   
  • ② TranslateAnimation类对象构造   
  • TranslateAnimation(float fromXDelta, float toXDelta,   
  •                        float fromYDelta, float toYDelta)   
  • //第一个参数fromXDelta为动画起始时 X坐标上的移动位置      
  • //第二个参数toXDelta为动画结束时 X坐标上的移动位置        
  • //第三个参数fromYDelta为动画起始时Y坐标上的移动位置       
  • //第四个参数toYDelta为动画结束时Y坐标上的移动位置   
  • 复制代码   
  • ③ 设置动画持续时间   
  • myAnimation_Translate.setDuration(2000);   
  • //设置时间持续时间为 2000毫秒   
  • 复制代码   
  •   
  •   
  • RotateAnimation   
  • ① RotateAnimation类对象定义   
  • private AlphaAnimation myAnimation_Alpha;   
  • 复制代码   
  •   
  • ② RotateAnimation类对象构造   
  • RotateAnimation(float fromDegrees, float toDegrees,   
  •             int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)   
  • //第一个参数fromDegrees为动画起始时的旋转角度      
  • //第二个参数toDegrees为动画旋转到的角度     
  • //第三个参数pivotXType为动画在X轴相对于物件位置类型    
  • //第四个参数pivotXValue为动画相对于物件的X坐标的开始位置   
  • //第五个参数pivotXType为动画在Y轴相对于物件位置类型     
  • //第六个参数pivotYValue为动画相对于物件的Y坐标的开始位置   
  • myAnimation_Rotate=new RotateAnimation(0.0f, +350.0f,   
  •                Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);   
  • 复制代码   
  •   
  • ③ 设置动画持续时间   
  • myAnimation_Rotate.setDuration(3000);   
  • //设置时间持续时间为 3000毫秒   
  • 复制代码   
  •   
  •   
  • 如何使用Java代码中的动画效果   
  •   
  • 使用从View父类继承过来的方法startAnimation()来为View或是子类View等等添加一个动画效果  
  •   
  •   
  •   
  • 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wbw1985/archive/2009/12/13/5000675.aspx
  • 分享到:
    评论

    相关推荐

      android中Animation的简单应用实例

      在Android开发中,动画(Animation)是提升用户体验和界面交互性的重要工具。本文将深入探讨Android中的`Animation`类及其简单应用实例,旨在帮助初学者理解如何使用各种动画方法。 一、Animation概述 Android提供...

      Android View中添加Animation.rar

      `Android View中添加Animation.rar`这个压缩包文件很可能是包含了一些示例代码或教程,帮助开发者了解如何在Android的视图元素上添加动画效果。这里我们将深入探讨Android中的View动画机制,包括基本动画类型、如何...

      详解android 中animation-list 动画的应用

      Android 中 animation-list 动画的应用详解 Android 中 animation-list 动画是一种常见的动画效果,通过使用 AnimationDrawable 来实现动画的播放。今天,我们将详细介绍 animation-list 动画在 Android 中的应用。...

      Android中的Animation的使用

      在Android开发中,动画(Animation)是提升用户体验和视觉效果的重要工具。Android提供了多种动画机制,包括帧动画(Frame Animation)、补间动画(Tween Animation)、属性动画(Property Animation)。本篇将详细...

      解析Android中Animation动画的编写要点

      本文将深入解析Android中Animation动画的编写要点,帮助开发者掌握如何创建和应用动画效果。 首先,我们要了解Animation的基本使用。在Android中,TranslationAnimation是最常见的动画类型,用于改变View的位置。...

      2011.10.18——— android 自定义Animation

      在Android开发中,动画(Animation)是提升用户体验和视觉效果的重要手段。这篇博客“2011.10.18——— android 自定义Animation”可能详细探讨了如何在Android平台上自定义各种动画效果,包括但不限于平移、旋转、...

      Android 动画 Animation Demo

      在Android开发中,动画(Animation)是提升用户体验和界面交互性的重要工具。Android动画主要分为两种类型:属性动画(Property Animation)和视图动画(View Animation)。本篇将深入探讨这两种动画机制,以及如何在...

      Android Animation Demo

      `Android Animation Demo`是一个实例,它展示了如何在Android应用中实现各种动画效果。这篇详细讲解将围绕标题和描述中的知识点展开,包括Tween Animation(补间动画)和Frame Animation(帧动画),帮助开发者理解...

      android动画介绍之 自定义Animation动画

      在这里,我们主要关注基于`Animation`类的自定义动画,它是Android早期版本中主要的动画实现方式。 一、理解Animation `Animation`是Android动画的基础类,它定义了动画的基本行为,如持续时间、重复次数等。`...

      Android ViewFlipper Animation 使用

      在Android开发中,ViewFlipper是一个非常有用的布局组件,它允许开发者轻松地在多个视图之间切换,同时还可以添加动画效果,使得用户界面更加生动和交互性更强。本篇文章将详细探讨如何在Android应用程序中使用...

      android动画例子:tween animation and property animation

      Tween Animation,也称为帧动画,是在Android SDK早期版本中引入的,主要用于实现对象在屏幕上的简单移动、旋转、缩放等效果。Tween Animation基于关键帧的概念,即在动画过程中定义开始和结束状态,然后系统会自动...

      Android TweenAnimation源码

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

      android_animation

      "android_animation"这个主题主要聚焦于Android中的View动画,这包括了转换动画(Translation Animation)、缩放动画(Scale Animation)、旋转动画(Rotation Animation)以及平移动画(Alpha Animation)。...

      Android 属性动画(Property Animation)

      Android属性动画(Property Animation)是Android 3.0(API级别11)引入的一个强大功能,它极大地扩展了Android的动画系统,使得开发者能够实现更丰富、更动态的视觉效果。与视图动画(View Animation)不同,属性...

      Android代码-Android-Animation-Set

      Android Animation Detailed Tutorial / Android 动画详尽教程       中文讲解(README)请直接点击对应标题 English explanation(or readme), Do not click on the title, please click on the tip ...

      android中的动画(Animation)详解

      在Android开发中,动画是提升用户体验的关键因素之一。Android提供了两种主要的动画类型:帧动画和补间动画,这两种动画各有特点,适用于不同的场景。 **帧动画**是基于一系列连续图像播放来创建动画效果的方法。这...

      Android Animation相关

      在Android开发中,动画(Animation)是提升用户体验和界面交互性的重要工具。Android提供了多种动画类型,其中补间动画(Tween Animation)是最基础且广泛使用的一种。补间动画通过改变对象在帧之间的属性来实现平滑...

      Android的Animation和Activity Animation例子

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

    Global site tag (gtag.js) - Google Analytics