`

动画效果编程基础:

 
阅读更多

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"?>
<alpha/>
<scale/>
<translate/>
<rotate/>
</set>

(2)java代码中定义方法

//在代码中定义 动画实例对象
privateAnimation myAnimation_Alpha;
privateAnimation myAnimation_Scale;
privateAnimation myAnimation_Translate;
privateAnimation myAnimation_Rotate;
//根据各自的构造方法来初始化一个实例对象
myAnimation_Alpha=newAlphaAnimation(0.1f, 1.0f);
myAnimation_Scale =newScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
myAnimation_Translate=newTranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
myAnimation_Rotate=newRotateAnimation(0.0f, +350.0f, Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF, 0.5f);

3.使用动画效果

(1)使用Xml中动画效果

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

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

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

publicvoidstartAnimation (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

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

摘录自:http://www.eoeandroid.com/thread-653-1-1.html

http://www.moandroid.com/?p=790



分享到:
评论

相关推荐

    Android动画效果编程基础

    ### Android动画效果编程基础 #### 一、Android动画概述 Android平台提供了丰富的动画支持机制,使得开发者能够轻松地实现各种视觉效果,提升用户体验。在Android中,动画主要分为两大类:**逐帧动画(Frame-by-...

    android动画效果编程基础

    本文将深入探讨Android动画效果编程的基础知识,帮助你理解如何为Android应用添加各种炫酷的视觉效果。 首先,Android提供了两种主要类型的动画:属性动画(Property Animation)和视图动画(View Animation)。...

    动画效果编程基础--Animatiom(apk)

    在Android开发中,动画效果是提升用户体验的关键因素之一。`Animation`类库为开发者提供了丰富的动画功能,使得应用中的视图元素能够展现出各种动态效果。本教程将带你深入理解Android中的动画系统,主要关注`...

    核心动画编程指南 原著:Apple Inc.

    核心动画提供了简单易用的动画编程接口,是Cocoa应用程序中实现动画效果的基础。 核心动画框架主要概念包括: 1. 核心动画类,它涵盖了图层类、动画和计时类、布局管理器类以及事务管理类。 - 图层类(Layer ...

    计算机动画算法与编程基础

    OpenGL 使用双缓存技术实现流畅的动画效果,后台缓存用于计算新帧,前台缓存则用于显示,避免闪烁和延迟,确保平滑过渡。 9. **交互技术**: OpenGL 提供丰富的交互接口,让用户能够与三维场景互动,如旋转、缩放...

    WPF编程宝典:使用C# 2012和.NET 4.5 第4版 PDF与源码

    5. **图形和动画**:介绍2D和3D图形绘制,以及如何创建动态效果,增强用户体验。 6. **资源和依赖属性**:讲解WPF中的资源管理,包括全局和局部资源,以及依赖属性的工作原理。 7. **命令和事件**:介绍如何使用...

    精彩编程与编程技巧-用Visual Basic的Move方法实现动画效果...

    ### 使用Visual Basic的Move方法实现动画效果 在Visual Basic(简称VB)中,开发者可以通过多种方式来实现动画效果,其中一种简单而有效的方法是利用`Move`方法。本篇文章将详细介绍如何通过`Move`方法结合定时器...

    C# winform窗体仿酷狗关闭等效,拉伸,动画效果

    总之,实现C# WinForm窗体的酷狗风格关闭、拉伸和动画效果,需要对WinForm的基础知识、自定义控件以及动画原理有深入理解。通过源代码学习和实践,开发者可以为自己的应用程序创造出更吸引人的用户界面。

    vc++中的动画编程

    #### 二、动画编程基础 动画编程的核心在于通过程序控制图像或模型的位置、形状等属性的变化来模拟动态效果。在VC++中实现这一过程,通常涉及到以下几个关键步骤: 1. **加载资源**:首先需要加载动画所需的图像...

    点赞+1的动画demo

    这种动画效果可以通过多种编程语言和框架实现,比如JavaScript、CSS3或者Android的Java和iOS的Swift。 首先,我们需要了解这个动画类的核心概念。在JavaScript中,这可能涉及到定时器(setTimeout或...

    C++窗口的动画效果

    在C++编程中,创建具有动画效果的窗口可以极大地提升用户体验。在Visual C++6.0环境下,开发者可以通过MFC(Microsoft Foundation Classes)库来实现这样的功能。MFC是微软提供的一个C++类库,它封装了Windows API,...

    flash 8.0 几十种动画效果

    Flash 8.0是Adobe Flash的一个重要版本,提供了许多改进和新特性,使得动画效果的创建变得更加丰富和多样。以下是基于“Flash 8.0 几十种动画效果”这一主题的详细知识点: 1. **Flash 8.0的主要改进**: - **图形...

    网页制作动画效果软件

    ActionScript是一种基于ECMAScript的编程语言,对于有一定编程基础的用户,这提供了更大的创作自由度。 5. **导出和嵌入**:完成动画设计后,SWFText可以导出为SWF格式,直接用于网页中。用户可以设置导出的参数,...

    DUILIB 的动画demo

    DUILIB是一个强大的开源UI库,...通过深入研究这个“DUILIB的动画demo”,开发者不仅能学会如何在自己的项目中使用DUILIB实现动画效果,还能对DUILIB的整体架构和设计理念有更深刻的理解,从而提升开发效率和软件质量。

    仿美团、饿了么加入购物车抛物线动画效果

    在本文中,我们将深入探讨如何实现“仿美团、饿了么加入购物车的抛物线动画效果”,这一功能常见于许多电商与外卖应用中,为用户界面增添动态美感。我们将主要使用Kotlin语言来实现这一效果,同时也涉及到贝塞尔曲线...

    Scratch编程教育中春节主题动画贺卡《新年:恭喜发财》的设计与实现

    该贺卡通过丰富的角色(如鞭炮、福字、灯笼和拜年小人)和声音效果展现浓厚的新春佳节气息,涉及具体操作步骤和关键编程技巧。文章详细讲解了项目启动后的每个环节,包括创建舞台背景及各种角色、编排相应的运动轨迹...

    Visual Basic动画编程技术

    在VB中实现动画效果是提高用户界面友好性的一种常见手段,通过动态展示图像或对象的位置变化来吸引用户的注意力。 #### 二、核心概念和技术要点 ##### 1. 使用Image控件显示图像 在Visual Basic中,`Image` 控件...

    iOS 核心动画编程指南

    布局核心动画的图层(Laying out Core Animation Layers)介绍了如何使用约束布局管理器来设置图层的布局和约束,以创建复杂的动画效果。 核心动画的键值编码扩展(Key-Value Coding Extensions for Core Animation...

    鸿蒙 ArkTS 双色旋转动画效果(源码版)

    鸿蒙 ArkTS 双色旋转动画效果是一种在 HarmonyOS 操作系统中实现的视觉效果,主要应用于用户界面的交互设计,提升用户体验。ArkTS 是 HarmonyOS 的一种编程语言,它是基于 TypeScript 扩展的,提供了丰富的类型安全...

Global site tag (gtag.js) - Google Analytics