`

【Android】两种动画介绍(Tween动画、Frame动画)

 
阅读更多

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同样也可以在代码中设置。


  1. imageView.setBackgroundResource(R.anim.animation);




通过getBackground方法就可以拿到这个animationDrawable对象。


  1. /**拿到ImageView对象**/
  2. imageView=(ImageView)findViewById(R.id.imageView);
  3. /**通过ImageView对象拿到背景显示的AnimationDrawable**/
  4. 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动画(Frame&Tween)

    在Android开发中,动画是提升用户体验的关键因素之...理解并熟练掌握这两种动画机制,能够帮助开发者创造出丰富多样的交互体验,提升Android应用的用户满意度。记得在实际应用中合理控制动画的性能,确保应用流畅运行。

    Tween和Frame动画的一个小总结

    在Android开发中,动画是提升用户体验的关键因素之一。本文将对两种主要的动画类型——Tween动画和Frame动画进行深入解析。 首先,Tween动画(渐变...熟练掌握这两种动画机制,可以极大地丰富Android应用的交互体验。

    Android中Frame和Tween两类动画笔记源码

    本篇将深入探讨这两种动画的原理、使用方式以及源码分析。 **一、Frame Animation(帧动画)** 帧动画类似于传统的电影制作,通过连续播放一系列静态图片来形成动态效果。在Android中,帧动画通常由一个XML资源...

    Tween动画和Frame动画结合

    ### Tween动画与Frame动画结合应用 #### 一、概述 在Android开发中,动画效果能够极大地提升用户体验。本文将深入探讨如何将Tween动画与Frame动画相结合,以实现更丰富的动画效果。通过这两种动画类型的组合使用,...

    Android Frame动画

    在Android开发中,帧动画(Frame Animation)是一种常见的动态效果实现方式,尤其在用户界面设计中,能够增加应用的互动性和吸引力。帧动画是通过连续播放一系列静态图像来创建动态效果,类似于传统的电影制作原理。...

    Android帧动画和补间动画总结

    在实际开发中,结合使用这两种动画,可以创造出丰富多样的视觉体验,提升用户对应用的满意度。通过不断的实践和学习,开发者可以掌握更多高级技巧,如动画组合、插值器、路径动画等,进一步提升应用的动画效果。

    Android 抖动动画效果

    首先,我们要知道在Android中,动画主要分为两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。抖动动画属于补间动画的一种,因为它涉及到对象的位置、大小或透明度等属性的变化。补间动画是通过...

    android两种页面切换动画效果源码

    在Android中,动画通常有两种类型:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画常用于对象的位置、大小、透明度等属性的变化,而帧动画则是按照预设顺序播放一系列图片,形成连续动态效果。...

    Android动画之仿美团加载数据等待时小人奔跑进度动画 程序源码

    在Android中,动画可以分为两种主要类型:补间动画(Tween Animation)和帧动画(Frame Animation)。在这个项目中,我们可能会用到补间动画,因为它更适合模拟连续的平滑动作,比如小人的奔跑。 补间动画是通过...

    android金币掉落动画

    Android提供了两种主要的动画机制:属性动画(Property Animation)和视图动画(View Animation)。属性动画是Android 3.0(API级别11)及更高版本引入的新功能,它允许开发者对对象的任何属性进行动画处理,而不...

    Android 翻转动画 ,像硬币一样的翻转动画

    首先,Android提供了两种主要类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。在这个案例中,我们将关注补间动画,因为它们更适合实现翻转效果。补间动画可以通过XML文件定义,并在代码中应用...

    android树干开花动画

    其次,Android动画主要分为两大类:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画是通过改变对象在一定时间内的属性值来实现动画效果,而帧动画则是按照预设的一系列图片连续播放,类似于电影...

    Android 初始欢迎界面淡出动画效果

    Android提供了两种类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画主要用于改变对象的属性,如平移、旋转、缩放和透明度等,而帧动画则适用于播放一系列静态图片形成连续动态效果。...

    Android 动画框架详解第 1 部分

    Android提供了两种主要的动画类型:Tween动画和Frame动画。本篇文章将主要聚焦在Tween动画的实现原理上。 Tween动画,也称为平移动画,是通过改变视图对象的位置、大小、透明度等属性来创建动态效果。在Android中,...

    android 逐帧动画实现 源码

    首先,我们要了解Android中的两种主要动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画是通过改变对象的属性(如位置、大小、透明度等)在一段时间内平滑过渡,而帧动画则是按照预定义...

    Android开发之利用动画做出悬浮效果(新版)

    Android提供了两种类型的动画:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变对象的视觉属性,如位置、大小、透明度等,而帧动画则用于播放一系列图像,类似于电影胶片。在这个悬浮...

    Android圆形向外扩散颜色渐浅动画

    Android提供了多种动画类型,包括补间动画(Tween Animation)和帧动画(Frame Animation)。对于这个案例,我们主要关注补间动画,因为它可以实现颜色变化和形状变换的效果。 1. **补间动画**: 补间动画是通过...

    Android动画效果的强悍框架

    Android支持两种主要的动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画用于改变视图的位置、大小、透明度等属性,它通过在一段时间内平滑地改变这些属性来创建动画效果。帧动画则类似...

    android界面loading动画

    本篇文章将详细介绍两种常见的Android Loading动画类型:Tween动画和Frame动画,并提供六种实用的加载动画示例。 一、Tween动画 Tween动画是Android中实现平滑过渡效果的一种方式,它可以改变对象的属性,如位置、...

    android基本动画大盘点

    本文将全面解析Android的基本动画类型,包括Activity动画、Fragment动画、Layout动画、Tween Animation、Frame Animation以及属性动画。 首先,我们来了解Activity动画。Activity动画主要用于场景切换,比如启动、...

Global site tag (gtag.js) - Google Analytics