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

贴一个定义android animation的应用实例

 
阅读更多

原创  贴一个定义android animation的应用实例 收藏

此文件名为myanimation.xml 位于 res/anim文件夹下:

具体释义已在文件中解释。

 

  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <set xmlns:android="http://schemas.android.com/apk/res/android">  
  3.   
  4.     <!--   
  5.         Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效  
  6.           
  7.         Alpha:渐变透明度动画效果  
  8.         Scale:渐变尺寸伸缩动画效果  
  9.         Translate:画面转换位置移动动画效果  
  10.         Rotate:画面旋转动画效果  
  11.           
  12.         Tween Animation 通用属性[类型]    功能    
  13.             Duration[long]  属性为动画持续时间   时间以毫秒为单位  
  14.             fillAfter [boolean] 当设置为true ,该动画转化在动画结束后被应用  
  15.             fillBefore[boolean] 当设置为true ,该动画转化在动画开始前被应用  
  16.               
  17.             interpolator    指定一个动画的插入器  有一些常见的插入器  
  18.             accelerate_decelerate_interpolator  
  19.             加速-减速 动画插入器  
  20.             accelerate_interpolator  
  21.             加速-动画插入器  
  22.             decelerate_interpolator  
  23.             减速- 动画插入器  
  24.             其他的属于特定的动画效果  
  25.             repeatCount[int]    动画的重复次数   
  26.             RepeatMode[int] 定义重复的行为 1:重新开始  2:plays backward  
  27.             startOffset[long]   动画之间的时间间隔,从上次动画停多少时间开始执行下个动画  
  28.             zAdjustment[int]    定义动画的Z Order的改变 0:保持Z Order不变  
  29.             1:保持在最上层  
  30.             -1:保持在最下层  
  31.       
  32.       
  33.      -->  
  34.     <!--  
  35.         透明控制动画   
  36.      -->  
  37.     <alpha  
  38.         android:fromAlpha="0.1"   
  39.         android:toAlpha="1.0"  
  40.         android:duration="3000"  
  41.     />  
  42.           
  43.     <!-- 尺寸伸缩动画效果 scale  
  44.       
  45.       
  46.         属性:interpolator 指定一个动画的插入器  
  47.   
  48.         有三种动画插入器:  
  49.          accelerate_decelerate_interpolator  加速-减速 动画插入器  
  50.          accelerate_interpolator        加速-动画插入器  
  51.          decelerate_interpolator        减速- 动画插入器  
  52.   
  53.         其他的属于特定的动画效果  
  54.   
  55.             fromXScale 属性为动画起始时 X坐标上的伸缩尺寸      
  56.             toXScale   属性为动画结束时 X坐标上的伸缩尺寸       
  57.   
  58.             fromYScale 属性为动画起始时Y坐标上的伸缩尺寸      
  59.             toYScale   属性为动画结束时Y坐标上的伸缩尺寸      
  60.   
  61.             说明:  
  62.                  以上四种属性值      
  63.                     0.0表示收缩到没有   
  64.                     1.0表示正常无伸缩       
  65.                     值小于1.0表示收缩    
  66.                     值大于1.0表示放大  
  67.                       
  68.             pivotX     属性为动画相对于物件的X坐标的开始位置  
  69.             pivotY     属性为动画相对于物件的Y坐标的开始位置  
  70.             说明:  
  71.                     以上两个属性值 从0%-100%中取值  
  72.                     50%为物件的X或Y方向坐标上的中点位置  
  73.         长整型值:  
  74.             duration  属性为动画持续时间  
  75.             说明:   时间以毫秒为单位  
  76.   
  77.         布尔型值:  
  78.             fillAfter 属性 当设置为true ,该动画转化在动画结束后被应用  
  79.     -->  
  80.     <scale  
  81.         android:interpolator="@android:anim/accelerate_decelerate_interpolator"  
  82.         android:repeatCount="1"  
  83.           
  84.         android:fromXScale="0.5"  
  85.         android:fromYScale="0.5"  
  86.         android:toXScale="1.4"        
  87.         android:toYScale="1.4"  
  88.         android:pivotX="50%"  
  89.         android:pivotY="50%"  
  90.         android:fillAfter="false"  
  91.         android:duration="3000"  
  92.           
  93.     />  
  94.     <!--   
  95.         画面转换位置移动动画效果 translate  
  96.       
  97.         fromXDelta toXDelta 为动画、结束起始时 X坐标上的位置     
  98.         fromYDelta toYDelta 为动画、结束起始时 Y坐标上的位置  
  99.      -->  
  100.       
  101.     <translate  
  102.         android:repeatCount="2"  
  103.         android:fromXDelta="-30"  
  104.         android:fromYDelta="-30"  
  105.         android:toXDelta="-80"        
  106.         android:toYDelta="200"  
  107.         android:duration="3000"  
  108.     />  
  109.     <!--   
  110.         画面转移旋转动画效果 rotate  
  111.           
  112.         fromDegrees 为动画起始时物件的角度 说明  
  113.             当角度为负数——表示逆时针旋转  
  114.             当角度为正数——表示顺时针旋转  
  115.             (负数from——to正数:顺时针旋转)  
  116.             (负数from——to负数:逆时针旋转)  
  117.             (正数from——to正数:顺时针旋转)  
  118.             (正数from——to负数:逆时针旋转)  
  119.             toDegrees   属性为动画结束时物件旋转的角度 可以大于360度  
  120.         pivotX  
  121.         pivotY  为动画相对于物件的X、Y坐标的开始位  说明:以上两个属性值 从0%-100%中取值  
  122.         50%为物件的X或Y方向坐标上的中点位置  
  123.      -->  
  124.     <rotate  
  125.         android:interpolator="@android:anim/accelerate_interpolator"  
  126.         android:repeatCount="2"  
  127.         android:fromDegrees="0"  
  128.         android:toDegrees="+270"  
  129.         android:pivotX="50%"  
  130.         android:pivotY="50%"  
  131.         android:duration="3000"  
  132.     />  
  133.   
  134. </set>  

 

用法:

加入把此动画定义用到一个TextView上,那么需要做的工作很简单:

 

  1. Animation mAnimation ;  
  2. mAnimation = AnimationUtils.loadAnimation(this, R.anim.anim);  
  3. TextView text = (TextView)findViewById(R.id.textview00);  
  4. text.setAnimation(mAnimation);  

 

此处要注意一点:

要用AnimationDrawable 的start()方法来启动动画,不管动画是否完毕,想要第二次启动动画一定要先调用它的stop()方法才可以再次启动动画。

fillBefore是指动画结束时画面停留在第一帧,fillAfter是指动画结束是画面停留在最后一帧。最关键的问题是,这2个参数不能在xml中设置,这是没有用的。必须在java代码中设置。比如
setFillAfter(true);
  setFillBefore(false);
这样动画结束时,停在最后一帧。

发表于 @ 2009年11月05日 09:09:00 | 评论( 0 ) 举报收藏

旧一篇:Bitmap实现缩放与旋转 | 新一篇:Android Styles & Themes

分享到:
评论

相关推荐

    Android Animation Demo

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

    android中Animation的简单应用实例

    本文将深入探讨Android中的`Animation`类及其简单应用实例,旨在帮助初学者理解如何使用各种动画方法。 一、Animation概述 Android提供了两种主要类型的动画:补间动画(Tween Animation)和帧动画(Frame ...

    Android 属性动画(Property Animation)

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

    Android Animation Frame逐帧动画

    在Activity或View中使用Frame动画,首先需要实例化一个`AnimationDrawable`对象,并将其设置为某个View的背景。然后调用`start()`方法启动动画: ```java ImageView imageView = findViewById(R.id.imageView); ...

    android animation实例

    本实例"android animation实例"是由开发者Guolin创建的,旨在帮助学习者深入理解并掌握Android中的动画机制。这个实例项目名为"guolin_AnimationTest",包含了各种动画类型的示例,非常适合初学者进行实践操作。 ...

    Android Animation Frame逐帧动画2

    首先,创建一个`AnimationDrawable`实例,然后为它添加帧资源,通过`addFrame()`方法设定每个帧的图片资源和持续时间。接着,将`AnimationDrawable`设置为某个View(如ImageView)的背景。最后,通过调用`start()`...

    2011.10.18——— android 自定义Animation

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

    Android Animation Test

    "Android Animation Test"是一个实例,它深入探讨了Android系统中的动画机制,帮助开发者了解并掌握如何在应用中实现各种吸引人的视觉效果。这个例子可能包括平移、旋转、缩放、淡入淡出等多种基本动画类型,以及更...

    android animation demo

    `android animation demo`是一个实例,展示了如何在Android应用程序中实现各种动画效果。这个项目可能包含了多种动画类型,如视图动画(View Animation)、属性动画(Property Animation)以及过渡动画(Transition ...

    Android的Animation和Activity Animation例子

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

    Android TweenAnimation源码

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

    Android animation图片移动效果.rar

    "Android animation图片移动效果.rar"这个压缩包文件提供了一个关于如何在Android应用中实现图片平移移动效果的源码示例。这个示例对于初学者和有经验的开发者来说,都是一个很好的学习资源,可以帮助他们深入理解...

    Animation动画实例

    在本文中,我们将深入探讨“Animation”这一关键概念,并通过具体的实例来阐述其工作原理和应用。 动画是通过连续播放一系列帧来创造运动错觉的技术。在IT行业中,特别是针对用户界面(UI)的动画,它能增强用户...

    animation动画

    `AnimationDemo01`通常包含一个简单的示例,演示如何使用Android的动画功能。可能包含以下内容: 1. 创建一个`ObjectAnimator`实例,改变ImageView的旋转角度。 2. 使用`ValueAnimator`实现渐变颜色变化的动画。 3....

    Android-Animation动画之Tween Animation补间动画

    例如,在压缩包中的`animation_test`可能包含了一个示例项目,演示了如何创建并应用补间动画。通过查看这个项目,我们可以学习如何在代码中动态创建和应用动画,以及在XML布局文件中预定义动画。这有助于开发者更好...

    Android-一个App的Logo的动画效果实现

    在Android应用开发中,为App设计一个引人注目的Logo动画可以极大地提升用户体验,增加产品的辨识度。本文将深入探讨如何在Android平台上实现一个App的Logo动画效果,结合提供的"QccLogo-Animation-master"项目,我们...

    Android实例Animation

    例如,以下XML定义了一个渐显动画: ```xml &lt;alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="500" android:fromAlpha="0.0" android:toAlpha="1.0" /&gt; ``` 在Java代码中...

    android-slidingactivity_Animation_android_slidin_

    总的来说,"android-slidingactivity"项目是Android开发者学习和实现滑动动画的一个实践案例,通过深入研究和理解其源码,可以提升开发者在UI动画设计方面的能力,为应用程序带来更加流畅和生动的交互体验。

    Android开心消消乐代码实例详解

    在 Android 开心消消乐代码实例中,布局设计是一个非常重要的方面。游戏的布局主要由 XML 文件定义,XML 文件中定义了游戏的布局结构,包括游戏的背景、按钮、文字等元素。在游戏中,我们使用了 TableLayout 和 ...

Global site tag (gtag.js) - Google Analytics