`

Android 动画专题(1)---Tween Animation

阅读更多

动画效果编程基础:

1.动画类型

在android中的动画由四种类型组成:

(1)XML  

alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate 画面转换位置移动动画效果
rotate 画面转移旋转动画效果


(2)JavaCode  

AlphaAnimation 渐变透明度动画效果
ScaleAnimation 渐变尺寸伸缩动画效果
TranslateAnimation 画面转换位置移动动画效果
RotateAnimation 画面转移旋转动画效果

2.动画效果的定义方法

android动画效果,可以定义在xml文件,也可以定义在java代码中,实现效果是一样的。

(1)在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 >

(2)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);

3.使用动画效果

(1)使用Xml中动画效果

public static Animation loadAnimation (Context context, int id)
//第一个参数Context为程序的上下文   
//第二个参数id为动画XML文件的引用
//例子:
myAnimation= AnimationUtils.loadAnimation( this ,R.anim.my_action);
//使用AnimationUtils类的静态方法loadAnimation()来加载XML中的动画XML文件

(2)如果是代码中定义动画效果,就直接调用就行

使用从View 父类继承过来的方法 startAnimation ()来为 View 或是子类 View 等等添加一个动画效果

public void startAnimation (Animation animation)

 

附录:

1.XML定义方法中各个参数属性:

Tween Animation共同的节点属性

表一

属性[类型] 功能
Duration[long] 属性为动画持续时间 时间以毫秒为单位
fillAfter [boolean] 当设置为true ,该动画转化在动画结束后被应用
fillBefore[boolean] 当设置为true ,该动画转化在动画开始前被应用

interpolator

指定一个动画的插入器 有一些常见的插入器
accelerate_decelerate_interpolator
加速-减速 动画插入器
accelerate_interpolator
加速-动画插入器
decelerate_interpolator
减速- 动画插入器
其他的属于特定的动画效果
repeatCount[int] 动画的重复次数
RepeatMode[int] 定义重复的行为 1:重新开始  2:plays backward
startOffset[long] 动画之间的时间间隔,从上次动画停多少时间开始执行下个动画
zAdjustment[int] 定义动画的Z Order的改变 0:保持Z Order不变
1:保持在最上层
-1:保持在最下层

4种类型各自特有的节点元素:

<alpha>

表二

XML节点 功能说明
alpha 渐变透明度动画效果
<alpha
android:fromAlpha=”0.1″
android:toAlpha=”1.0″
android:duration=”3000″ />
fromAlpha

属性为动画起始时透明度

0.0表示完全透明
1.0表示完全不透明
以上值取0.0-1.0之间的float数据类型的数字
toAlpha 属性为动画结束时透明度

<scale>  

表三

scale 渐变尺寸伸缩动画效果
<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″
android:repeatCount=”10″ />
fromXScale[float] fromYScale[float] 为动画起始时,X、Y坐标上的伸缩尺寸 0.0表示收缩到没有
1.0表示正常无伸缩
值小于1.0表示收缩
值大于1.0表示放大
toXScale [float]
toYScale[float]
为动画结束时,X、Y坐标上的伸缩尺寸
pivotX[float]
pivotY[float]
为动画相对于物件的X、Y坐标的开始位置 属性值说明:从0%-100%中取值,50%为物件的X或Y方向坐标上的中点位置

<translate> 

表四

translate 画面转换位置移动动画效果
<translate
android:fromXDelta=”30″
android:toXDelta=”-80″
android:fromYDelta=”30″
android:toYDelta=”300″
android:duration=”2000″ />
fromXDelta
toXDelta
为动画、结束起始时 X坐标上的位置
fromYDelta
toYDelta
为动画、结束起始时 Y坐标上的位置

<rotate>  

表五

rotate 画面转移旋转动画效果
<rotate
android:interpolator=”@android:anim/accelerate_decelerate_interpolator”
android:fromDegrees=”0″
android:toDegrees=”+350″
android:pivotX=”50%”
android:pivotY=”50%”
android:duration=”3000″ />
fromDegrees 为动画起始时物件的角度 说明
当角度为负数——表示逆时针旋转
当角度为正数——表示顺时针旋转
(负数from——to正数:顺时针旋转)
(负数from——to负数:逆时针旋转)
(正数from——to正数:顺时针旋转)
(正数from——to负数:逆时针旋转)
toDegrees 属性为动画结束时物件旋转的角度 可以大于360度
pivotX
pivotY
为动画相对于物件的X、Y坐标的开始位 说明:以上两个属性值 从0%-100%中取值
50%为物件的X或Y方向坐标上的中点位置

2.Android SDK动画类 Animation

Tween Animation由4种类型:alpha、scale、translate、roate,在Android SDK中提供了相应的类,Animation类派生出了AlphaAnimation、ScaleAnimation、 TranslateAnimation、RotateAnimation分别实现了平移、旋转、改变 Alpha 值等动画,每个子类都在父类的基础上增加了各自独有的属性。

Animation

然后可以调用里面的函数设置相应的参数...

分享到:
评论

相关推荐

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

    在Android开发中,动画是提升用户体验的关键因素之一。补间动画(Tween Animation)是Android提供的基本动画类型,它通过对对象的透明度、大小、位置或...不断实践和探索,将有助于我们成为更出色的Android动画开发者。

    android动画例子:tween animation and property animation

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

    Android TweenAnimation源码

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

    安卓动画效果相关-android开发中的Tween动画动画演示demo。此demo为androidstudio2.0所写.rar

    通过学习和实践这个Tween动画的演示demo,开发者可以深入理解Android动画机制,为自己的应用增添生动有趣的交互体验。同时,也可以在此基础上探索更高级的动画技术,如属性动画(Property Animation)和视图动画...

    Android Tween Animation动画效果详解

    Android Tween Animation动画的使用demo,以及自定义动画,原理解析,相关博客: http://blog.csdn.net/w18756901575/article/details/53081551

    Android中补间动画TweenAnimation

    例如,可能包含一个XML文件(如TweenAnimation.xml),定义了一个View平移和缩放的动画。然后在Java代码中加载并应用这个动画,使得按钮在点击时有明显的视觉反馈。 ```xml &lt;!-- TweenAnimation.xml --&gt; ...

    Android 用Animation-list实现逐帧动画

    本篇将深入讲解如何利用`Animation-list`在Android中实现逐帧动画。 一、`Animation-list`基础 `Animation-list`是Android XML动画资源的一种类型,它定义了一组子项(通常为ImageView的源),这些子项按照指定的...

    01_TweenAnimation变化动画Demo代码下载

    TweenAnimation在Android开发中是一种常见的动画技术,用于创建平滑的过渡效果,它可以改变View对象的属性,如位置、大小、透明度等,为用户界面增添动态美感。本Demo代码下载提供了关于TweenAnimation的实例,帮助...

    Android使用TweenAnimation生成动画效果的例程.rar

    在Android开发中,动画是提升用户体验的关键因素之一。TweenAnimation,又称补间动画,是Android提供的基础动画系统的一部分,它可以实现对象在指定时间内平移...不断实践和探索,你将在Android动画领域变得更加熟练。

    android tween动画代码示例及详解

    在Android开发中,动画是提升用户体验的关键因素之一。Tween动画,又称补间动画,是Android提供的基础动画系统...通过实践和调试这些代码,你可以掌握Android动画系统的核心概念,从而在开发中创造出更丰富的视觉效果。

    Android Tween动画源码

    Tween动画,又称平移动画,是Android提供的基础动画类型,主要用于对象的透明度、缩放、平移和旋转等属性的变化。让我们深入探讨Android Tween动画的源码,理解其工作原理。 首先,`alpha`动画涉及到的是对象的透明...

    android Tween动画的xml实现

    Tween动画,又称补间动画,是Android提供的基础动画类型,主要用于对象的平移、旋转、缩放和透明度变化等效果。本篇文章将深入探讨如何通过XML在Android中实现Tween动画。 首先,让我们了解Tween动画的基本原理。...

    Android Animation动画(Tween动画,xml形式)

    该Demo,主要以xml形式实现了Animation动画中的Tween动画(另一种动画Frame动画Demo,稍后奉上),Tween动画的另一种实现形式是直接在代码中实现,相关Demo已上传,有需要的读者请到我的资源文件中下载即可。

    Android 百战经典-Android补间动画(Tween)大观园

    在Android开发中,补间动画(Tween Animation)是实现动态效果的一种重要手段,它通过平移、旋转、缩放和改变透明度等属性变化来创建流畅的视觉效果。本篇文章将深入探讨Android补间动画的基本概念、使用方法及其...

    Android高级应用源码-animation的结合蝴蝶飞的动画,使用动画里面的几种类型.rar

    - 帧动画通常在animation-list标签中定义,每个item标签代表一帧,设置android:duration属性来控制每帧持续的时间。 - 补间动画在objectAnimator或animatorSet标签内定义,可以设置属性名(android:propertyName)...

    Android面试专题课程 -修改1

    【Android面试专题课程】 ...20. **Android动画**:了解如何使用Tween动画、Frame动画、属性动画,以及它们在不同场景下的适用性。 以上是Android面试中常见的技术点,深入理解这些知识有助于在面试中脱颖而出。

    Android 游戏开发之Tween动画的实现

    它是Android动画系统中的一个重要组件,用于执行基于属性的动画。通过`ObjectAnimator.ofFloat()`或`ObjectAnimator.ofInt()`方法,我们可以指定目标对象和要动画化的属性。例如,要让一个View平滑地移动,可以创建...

    安卓动画效果相关-android动画库.rar

    本资源包“安卓动画效果相关-android动画库.rar”包含了多个可能用于实现不同动画效果的代码示例。由于文件数量较多,无法逐一验证其可用性,但它们可以作为学习和参考的宝贵资料。 在Android中,动画主要分为两种...

    Android动画之Animation

    Android动画之Animation的使用。包括变换动画Tween Animation,帧动画Frame Animation,布局动画Layout Animation,属性动画Property Animation

    Android的动画Animation详解

    Android动画主要分为两大类:Tween动画(渐变动画)和Frame-by-frame动画(逐帧动画)。这两种动画形式能够满足开发者对于基本动画效果的需求。 #### 二、XML中的动画定义 Android动画可以通过XML文件定义,并在...

Global site tag (gtag.js) - Google Analytics