Android中的动画类型有两种,一种是Tween动画、还有一种是Frame动画。Tween动画,这种实现方式可以使视图组件移动、放大、缩小以及产生透明度的变化;另一种Frame动画,传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。下面将一一详细介绍:
本博客参考自网络,结合自己一点理解,实为学习之用,不为其他目的。
一,Tween动画
又称“补间动画”、“中间动画”,最早接触Tween类是在学习Flash时候,使用ActionScript做动画的时候,使用过类Tween。
Tween动画主要的功能是在绘制动画前设置动画绘制的轨迹,包括时间,
位置 ,等等。但是Tween动画的缺点是它只能设置起始点与结束点的两帧,中间过程全部由系统帮我们完成。所以在帧数比较多的游戏开发中是不太会用到它的。
Tween一共提供了4中动画的效果
Scale:缩放动画
Rotate:旋转动画
Translate:移动动画
Alpha::透明渐变动画
Tween与Frame动画类似都需要在res\anim路径下创建动画的 布局文件
1)Scale动画

/anim/scalelitte.xml
/anim/scalebig.xml
如果在代码中,加载动画,而不用xml配置动画
2)Rotate旋转动画
/anim/retateleft.xml
/anim/retateright.xml
如果在代码中加载动画,而不用xml配置,代码如下
3)Translate移动动画/layout/translate.xml
/anim/translate.xml
说明:
代码中加载动画:
4 )Alpha:透明渐变动画
/anim/alpha.xml
说明:
手动加载动画:
5)综合动画可以将上面介绍的4种动画设置在一起同时进行播放,那么就须要使用<set>标签将所有须要播放的动画放在一起。
这个动画布局设置动画同时播放移动、渐变、旋转。/anim/all.xml
二,AnimationDrable实现Frame动画(设计游戏专用,嘎嘎嘎)感谢宣教主分享

/layout/simple.xml
控制帧播放的/anim/animation.xml
看看内容应该是很好理解的,<animation-list>为动画的总标签,这里面放着帧动画 <item>标签,也就是说若干<item>标签的帧 组合在一起就是帧动画了。<animation-list > 标签中android:oneshot="false" 这是一个非常重要的属性,默认为false
表示 动画循环播放, 如果这里写true 则表示动画只播发一次。 <item>标签中记录着每一帧的信息android:drawable="@drawable/a"表示这一帧用的图片为"a",下面以此类推。 android:duration="100" 表示这一帧持续100毫秒,可以根据这个值来调节动画播放的速度。这是一个比较简单的布局文件,应该都能看懂吧。 我主要说一下 最后的这个 ImageView, 它就是用来显示我们的动画。 这里使用android:background="@anim/animation"设置这个ImageView现实的背景为一个动画,动画资源的路径为res/anim/animation.xml
,当然 设置background同样也可以在代码中设置。
-
imageView.setBackgroundResource(R.anim.animation);
通过getBackground方法就可以拿到这个animationDrawable对象。
-
-
imageView=(ImageView)findViewById(R.id.imageView);
-
-
animationDrawable=(AnimationDrawable)imageView.getBackground();
AnimationDrawable 就是用来控制这个帧动画,这个类中提供了很多方法。
animationDrawable.start(); 开始这个动画
animationDrawable.stop(); 结束这个动画
animationDrawable.setAlpha(100);设置动画的透明度, 取值范围(0 - 255)
animationDrawable.setOneShot(true); 设置单次播放
animationDrawable.setOneShot(false); 设置循环播放
animationDrawable.isRunning(); 判断动画是否正在播放
animationDrawable.getNumberOfFrames(); 得到动画的帧数。
宣教主警戒:拖动进度条设置Alpha值的时候 一定要使用 imageView.postInvalidate(); 方法来通知UI线程重绘屏幕中的imageView 否则会看不到透明的效果
。这里切记切记~~
谢谢CSDN博主宣雨松,牛人一枚。以后还会多多向他学习。
分享到:
相关推荐
在Android开发中,动画是提升用户体验的关键因素之...理解并熟练掌握这两种动画机制,能够帮助开发者创造出丰富多样的交互体验,提升Android应用的用户满意度。记得在实际应用中合理控制动画的性能,确保应用流畅运行。
在Android开发中,动画是提升用户体验的关键因素之一。本文将对两种主要的动画类型——Tween动画和Frame动画进行深入解析。 首先,Tween动画(渐变...熟练掌握这两种动画机制,可以极大地丰富Android应用的交互体验。
本篇将深入探讨这两种动画的原理、使用方式以及源码分析。 **一、Frame Animation(帧动画)** 帧动画类似于传统的电影制作,通过连续播放一系列静态图片来形成动态效果。在Android中,帧动画通常由一个XML资源...
### Tween动画与Frame动画结合应用 #### 一、概述 在Android开发中,动画效果能够极大地提升用户体验。本文将深入探讨如何将Tween动画与Frame动画相结合,以实现更丰富的动画效果。通过这两种动画类型的组合使用,...
在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,尤其在用户界面设计中,能够增加应用的互动性和吸引力。帧动画是通过连续播放一系列静态图像来创建动态效果,类似于传统的电影制作原理。...
在实际开发中,结合使用这两种动画,可以创造出丰富多样的视觉体验,提升用户对应用的满意度。通过不断的实践和学习,开发者可以掌握更多高级技巧,如动画组合、插值器、路径动画等,进一步提升应用的动画效果。
首先,我们要知道在Android中,动画主要分为两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。抖动动画属于补间动画的一种,因为它涉及到对象的位置、大小或透明度等属性的变化。补间动画是通过...
在Android中,动画通常有两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画常用于对象的位置、大小、透明度等属性的变化,而帧动画则是按照预设顺序播放一系列图片,形成连续动态效果。...
在Android中,动画可以分为两种主要类型:补间动画(Tween Animation)和帧动画(Frame Animation)。在这个项目中,我们可能会用到补间动画,因为它更适合模拟连续的平滑动作,比如小人的奔跑。 补间动画是通过...
Android提供了两种主要的动画机制:属性动画(Property Animation)和视图动画(View Animation)。属性动画是Android 3.0(API级别11)及更高版本引入的新功能,它允许开发者对对象的任何属性进行动画处理,而不...
首先,Android提供了两种主要类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。在这个案例中,我们将关注补间动画,因为它们更适合实现翻转效果。补间动画可以通过XML文件定义,并在代码中应用...
其次,Android动画主要分为两大类:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画是通过改变对象在一定时间内的属性值来实现动画效果,而帧动画则是按照预设的一系列图片连续播放,类似于电影...
Android提供了两种类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画主要用于改变对象的属性,如平移、旋转、缩放和透明度等,而帧动画则适用于播放一系列静态图片形成连续动态效果。...
Android提供了两种主要的动画类型:Tween动画和Frame动画。本篇文章将主要聚焦在Tween动画的实现原理上。 Tween动画,也称为平移动画,是通过改变视图对象的位置、大小、透明度等属性来创建动态效果。在Android中,...
首先,我们要了解Android中的两种主要动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画是通过改变对象的属性(如位置、大小、透明度等)在一段时间内平滑过渡,而帧动画则是按照预定义...
Android提供了两种类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变对象的视觉属性,如位置、大小、透明度等,而帧动画则用于播放一系列图像,类似于电影胶片。在这个悬浮...
Android提供了多种动画类型,包括补间动画(Tween Animation)和帧动画(Frame Animation)。对于这个案例,我们主要关注补间动画,因为它可以实现颜色变化和形状变换的效果。 1. **补间动画**: 补间动画是通过...
Android支持两种主要的动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、透明度等属性,它通过在一段时间内平滑地改变这些属性来创建动画效果。帧动画则类似...
本篇文章将详细介绍两种常见的Android Loading动画类型:Tween动画和Frame动画,并提供六种实用的加载动画示例。 一、Tween动画 Tween动画是Android中实现平滑过渡效果的一种方式,它可以改变对象的属性,如位置、...
本文将全面解析Android的基本动画类型,包括Activity动画、Fragment动画、Layout动画、Tween Animation、Frame Animation以及属性动画。 首先,我们来了解Activity动画。Activity动画主要用于场景切换,比如启动、...