一、代码实现:
private ImageView iv; private AnimationDrawable ad; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); ad = new AnimationDrawable(); ad.addFrame(getResources().getDrawable(R.drawable.pic1), 100); ad.addFrame(getResources().getDrawable(R.drawable.pic2), 100); ad.addFrame(getResources().getDrawable(R.drawable.pic3), 100); ad.addFrame(getResources().getDrawable(R.drawable.pic4), 100); ad.addFrame(getResources().getDrawable(R.drawable.pic5), 100); ad.setOneShot(false);//true则只运行一次,false可以循环 iv.setBackgroundDrawable(ad); iv.setOnClickListener(new View.OnClickListener()//按钮点击的时候运行,再次点击停止 { @Override public void onClick(View v) { if (ad.isRunning()) { ad.stop(); } else { ad.start(); } } }); }
第二种,配置文件的实现方式
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/ic_launcher" android:duration="100"></item> <item android:drawable="@drawable/newsdetails_titlebar_btn_next" android:duration="100"></item> <item android:drawable="@drawable/newsdetails_titlebar_btn_next_selected" android:duration="100"></item> <item android:drawable="@drawable/newsdetails_titlebar_btn_previous" android:duration="100"></item> <item android:drawable="@drawable/newsdetails_titlebar_btn_previous_selected" android:duration="100"></item> </animation-list>
代码调用部分:
private ImageView iv; private AnimationDrawable ad; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) findViewById(R.id.iv); iv.setBackgroundResource(R.drawable.pic_anim); ad = (AnimationDrawable) iv.getBackground(); iv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (ad.isRunning()) { ad.stop(); } else { ad.start(); } } }); }
相关推荐
本源码着重探讨如何在Android应用中实现逐帧动画。 首先,我们要了解Android中的两种主要动画机制:补间动画(Tween Animation)和帧动画(Frame Animation)。补间动画是通过改变对象的属性(如位置、大小、透明度...
在这个特定的案例中,我们看到标题为“android逐帧动画”,描述提到有三张图片进行切换,每帧持续时间为50毫秒。这个例子展示了如何在Android应用中实现这种基本的动画效果。 首先,我们需要了解Android中的`...
在Android中,我们可以使用`Animation`类或`ValueAnimator`类来实现逐帧动画,但最常用的方法是通过`AnimationDrawable`类。 **一、AnimationDrawable的使用** 1. **创建资源**: 首先,你需要准备一系列的帧图像...
逐帧动画适合实现比较简单的动画效果,如果要实现复杂动画不太建议使用逐帧动画。 xml方式实现: step 1 : 在res/drawable目录下一个文件sample_animlist.xml: <?xml version=1.0 encoding=utf-8?> <...
在Android应用开发中,逐帧动画是一种常见的动画形式,它通过连续播放一系列静态图像来创造出动态效果,类似于传统的动画制作过程。"Android 逐帧动画源码.zip" 提供了一个项目实例,帮助开发者深入理解这一技术。这...
下面我们将深入探讨如何在Android中实现逐帧动画,并了解相关知识点。 一、FrameAnimation简介 FrameAnimation是Android SDK提供的一种基于图像序列的动画机制,它通过在ImageView组件中连续显示一系列的静态图像来...
这个"Android逐帧动画源码.zip"文件包含了一个关于如何在Android应用中实现逐帧动画的示例项目,这对于开发者来说是宝贵的参考资料。 逐帧动画在Android中的实现主要依赖于`Animation`类家族,尤其是`Frame...
Android提供了多种动画类型,其中包括 Tween 补间动画和 Frame 逐帧动画。本篇文章将主要聚焦于Frame动画,这是一种通过连续显示不同帧图片来创建动画效果的技术。 **Frame动画原理:** Frame动画基于一系列连续的...
这个"Android 逐帧动画源码.rar"压缩包包含了一个关于如何实现这种动画方式的源代码示例。下面,我们将深入探讨逐帧动画的概念、实现原理以及源码中的关键组件。 一、逐帧动画原理 逐帧动画是基于时间轴的动画形式...
本示例主要关注的是逐帧动画(Frame-by-Frame Animation),这是一种常见的动画实现方式,尤其适用于创建连续的动态效果,如人物行走、物体翻转等。逐帧动画通过连续播放一系列静态图片来达到动态视觉效果。 在...
本资源“逐帧动画源码”旨在提供一个深入理解逐帧动画工作原理的实例,帮助开发者快速掌握Android系统中如何实现这种动画效果。 逐帧动画的基本原理是通过连续播放一系列静态图像来创造动态效果,就像传统的手绘...
本文将深入探讨“逐帧动画入门”这一主题,基于提供的标签和压缩文件名,我们可以推测这是关于Android平台上的一个学习资源,可能包含了一系列的源代码示例。 逐帧动画是一种常见的动画形式,它通过连续播放一系列...
首先,我们要理解Android中的逐帧动画。在Android中,帧动画(Frame Animation)是一种简单易用的动画形式,它通过连续播放一系列静态图像(帧)来创造出动画效果。这些帧通常保存为图片资源(如PNG或JPEG),然后在...
以上就是如何在Android中实现一个简单的逐帧动画的基本步骤。你可以根据项目需求调整动画帧的顺序、显示时间和动画的重复次数,以创建出各种生动有趣的动画效果。在实际开发中,还可以结合其他动画类型,如补间动画...
本篇文章将深入探讨Android逐帧动画的概念、实现方式以及相关的实践技巧。 逐帧动画的工作原理类似于传统的电影制作,通过连续播放多张图片来产生连续的动作。在Android中,这可以通过`AnimationDrawable`类来实现...