Android 用Animation-list实现逐帧动画

Android 使用 Animation-list 实现逐帧动画 其中一种常见的动画类型是逐帧动画,也就是连续播放一系列帧图像,从而创建出动画效果。通过定义 Animation-list XML 文件和使用 AnimationDrawable 类加载并播放动画,我们可以在 Android 应用程序中轻松实现逐帧动画效果。接下来,在需要显示动画的视图(如 ImageView)中,我们可以使用 AnimationDrawable 类加载并播放 Animation-list 动画。要注意的是,为了实现逐帧动画的循环播放,我们可以将 Animation-list 的。 阅读详情

第一步:先上图片素材,以下素材放到res/drawable目录下:

http://blog.youkuaiyun.com/aminfo/article/details/7847761

图片素材:

文件名称:

icon1.png

icon2.png

icon3.png

icon4.png

icon5.png

icon6.png

第二步:上动画Animation-list帧布局文件,有2个,一个是按顺序显示动画,一个是倒序显示动画,文件存放在res/drawable目录下

顺序显示动画文件:animation1.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!--   
  3.     根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画  
  4.     根标签下,通过item标签对动画中的每一个图片进行声明  
  5.     android:duration 表示展示所用的该图片的时间长度  
  6.  -->  
  7. <animation-list  
  8.   xmlns:android="http://schemas.android.com/apk/res/android"  
  9.   android:oneshot="true"  
  10.   >  
  11.     <item android:drawable="@drawable/icon1" android:duration="150"></item>  
  12.     <item android:drawable="@drawable/icon2" android:duration="150"></item>  
  13.     <item android:drawable="@drawable/icon3" android:duration="150"></item>  
  14.     <item android:drawable="@drawable/icon4" android:duration="150"></item>  
  15.     <item android:drawable="@drawable/icon5" android:duration="150"></item>  
  16.     <item android:drawable="@drawable/icon6" android:duration="150"></item>  
  17. </animation-list>  


倒序显示动画文件:animation2.xml

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <!--   
  3.     根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画  
  4.     根标签下,通过item标签对动画中的每一个图片进行声明  
  5.     android:duration 表示展示所用的该图片的时间长度  
  6.  -->  
  7. <animation-list  
  8.   xmlns:android="http://schemas.android.com/apk/res/android"  
  9.   android:oneshot="true"  
  10.   >  
  11.     <item android:drawable="@drawable/icon6" android:duration="150"></item>  
  12.     <item android:drawable="@drawable/icon5" android:duration="150"></item>  
  13.     <item android:drawable="@drawable/icon4" android:duration="150"></item>  
  14.     <item android:drawable="@drawable/icon3" android:duration="150"></item>  
  15.     <item android:drawable="@drawable/icon2" android:duration="150"></item>  
  16.     <item android:drawable="@drawable/icon1" android:duration="150"></item>  
  17. </animation-list>  


第三步:上布局文件,放在res/layout目录下,文件名main.xml:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.    android:layout_width="fill_parent"  
  4.    android:layout_height="fill_parent"  
  5.    android:orientation="vertical">  
  6.      
  7.     <ImageView android:id="@+id/animationIV"  
  8.             android:layout_width="wrap_content"  
  9.             android:layout_height="wrap_content"  
  10.             android:padding="5px"  
  11.             android:src="@drawable/animation1"/>   
  12.               
  13.     <Button android:id="@+id/buttonA"  
  14.         android:layout_width="wrap_content"  
  15.         android:layout_height="wrap_content"  
  16.         android:padding="5px"  
  17.         android:text="顺序显示" />  
  18.       
  19.     <Button android:id="@+id/buttonB"  
  20.         android:layout_width="wrap_content"  
  21.         android:layout_height="wrap_content"  
  22.         android:padding="5px"  
  23.         android:text="停止" />  
  24.       
  25.     <Button android:id="@+id/buttonC"  
  26.         android:layout_width="wrap_content"  
  27.         android:layout_height="wrap_content"  
  28.         android:padding="5px"  
  29.         android:text="倒序显示" />  
  30.   
  31. </LinearLayout>  

第四步:上Activity文件,文件名:MainActivity.Java

  1. package org.shuxiang.test;  
  2.   
  3. import android.app.Activity;  
  4. import android.graphics.drawable.AnimationDrawable;  
  5.   
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.view.Window;  
  10. import android.widget.Button;  
  11. import android.widget.ImageView;  
  12.   
  13. public class Activity10 extends Activity  
  14. {  
  15.     private ImageView animationIV;  
  16.     private Button buttonA, buttonB, buttonC;  
  17.     private AnimationDrawable animationDrawable;  
  18.     @Override  
  19.     public void onCreate(Bundle savedInstanceState) {  
  20.         super.onCreate(savedInstanceState);  
  21.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  22.         setContentView(R.layout.test10);  
  23.          
  24.           
  25.         animationIV = (ImageView) findViewById(R.id.animationIV);  
  26.         buttonA = (Button) findViewById(R.id.buttonA);  
  27.         buttonB = (Button) findViewById(R.id.buttonB);  
  28.         buttonC = (Button) findViewById(R.id.buttonC);  
  29.           
  30.         buttonA.setOnClickListener(new OnClickListener()  
  31.         {  
  32.             @Override  
  33.             public void onClick(View v) {  
  34.                 // TODO Auto-generated method stub  
  35.                 animationIV.setImageResource(R.drawable.animation1);  
  36.                 animationDrawable = (AnimationDrawable) animationIV.getDrawable();  
  37.                 animationDrawable.start();  
  38.             }  
  39.               
  40.         });   
  41.           
  42.         buttonB.setOnClickListener(new OnClickListener()  
  43.         {  
  44.             @Override  
  45.             public void onClick(View v) {  
  46.                 // TODO Auto-generated method stub  
  47.                 animationDrawable = (AnimationDrawable) animationIV.getDrawable();  
  48.                 animationDrawable.stop();  
  49.             }  
  50.               
  51.         });  
  52.           
  53.         buttonC.setOnClickListener(new OnClickListener()  
  54.         {  
  55.             @Override  
  56.             public void onClick(View v) {  
  57.                 // TODO Auto-generated method stub  
  58.                 animationIV.setImageResource(R.drawable.animation2);  
  59.                 animationDrawable = (AnimationDrawable) animationIV.getDrawable();  
  60.                 animationDrawable.start();  
  61.             }             
  62.         });          
  63.     }  
  64. }  
详解android 中animation-list 动画的应用 本篇文章主要介绍了详解android 中animation-list 动画的应用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 立即下载

相关推荐

无源定位之时差估计的精确时差估计算法(ETDE)及MATLAB实现程序

时差估计算法之精确时差估计(ETDE)欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想

伊谢尔伦的林中小路 4255

Android逐帧动画Animation_list篇

相信对于那些基础Android的人来说对于帧动画或补间动画应该并不陌生了吗?今天我给大家讲的是Android逐帧动画比较简单! 先上效果图! 下面仔细讲一下AnimationDrawable这个类 Object是所有类的父类毋庸置疑,其次它的间接父类是DrawableContainer 下面看下他们的构造方法以及函数 public class AnimationDrawable ex

郑敏 1909

CST 仿真_NFC仿真

在CST中实现NFC天线单体的仿真

qq_43706810的博客 3961

Android animation-list动画

Android animation-list动画 放置一系列图片资源放到res/drawable下面,然后写一个res/drawabale/loading_anim_image.xml文件,定义animation-list动画,animation-list定义的动画将顺次从上往下执行,设置oneshot=false则反复循环执行,true则执行一次,res/drawable/loading_an...

Zhang Phil 1万+

Zemax操作40--序列模式中LD光源模拟

LD模拟

lzy750750的博客 9118

Python爬虫实战:新浪财经股票金融数据全方位抓取教程

本教程系统介绍了新浪财经股票数据爬取技术,从静态网页解析、实时接口请求到异步爬取和数据存储,帮助你搭建了一个完整的金融数据采集流程。未来,可以结合深度学习模型进行行情预测,或者将数据接入量化交易系统,实现自动化投资。

2201_76125261的博客 2209

安卓 使用animation-list实现图片的逐帧变换(加载框,刷新框)(19)

我们在很多地方都会见到,在加载数据的时候,会有个转动的图片,下面配上一行文字:正在载入中,这个转动的图片其实是通过多张图片的每帧逐帧变换得到的,可以使用animation-list实现该功能。最开始在布局文件中写一个animation-list的xml文件,其中的item为需要加入变换的图片,android:duration代表每个图片显示的时间:&lt;?xml version="1.0" en...

qq_39079912的博客 429

RAGFlow体验大提升:使用GPU加速

场景:在正常部署过程中,启动RAGFlow会用到docker-compose.yml文件来启动。但是在实际使用过程中,会发现RAGFlow极其的卡和笨重,给一一种很不好的用户体验,有没有一种可以让RAGFlow加速的呢?进入RAGFlow的docker目录下会有发现有很多docker的配置文件。方法一:选择docker-compose-gpu.yml这个来启动项目。两个方法选其一 ,就会让你的RAGFlow的使用起来非常的丝滑!方法二:在docker-compose.yml末尾加上。

Ven%的博客 3156

Android 用Animation-list实现逐帧动画实例

在处理耗时工作的时候,大多数会弹出一个加载的框,里面有一个连续旋转的图片,很多时候都是用一张图片,使用rotate来设定旋转,不过看起来不太美观,没有形象感,在3.0之前Android有两种动画效果分别是补间动画和帧动画,用一张图片实现的是使用补间动画,定义给出两个关键帧,通过一些算法将给定属性值在给定的时间内在两个关键帧间渐变。我个人比较倾向的是帧动画,不过这个需要美工的支持,还有一种方式就是通

路在脚下 1084

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1164

LED灯闪烁实验:代码集成

LED灯闪烁实验已经全部完成,在该实验中使用了较多的工具链,涉及底层软件、建模、软件编译等。首先,通过STM32CubeMX工具进行STM32底层软件配置,可以大大减少手写代码的工作量。另外由于做了可视化,也降低了STM32的上手难度,提升效率。利用Simulink建模,可以在PC环境下验证应用层算法的正确性而不依赖于具体控制器,实现应用层算法和底层软件、控制器硬件的解耦。另外,图形化的建模方式也更加有利于开发者思考与分析,大量的封装库文件也可以降低开发的工作量。

u013288925的博客 368

android帧动画设置时间间隔,安卓Android 用Animation-list实现逐帧动画

最近项目需要用到动画效果,给大家做个简单的介绍。android提供了3种类型的动画:补间动画:补间动画可以应用于View,让你可以定义一系列关于位置、大小、旋转和透明度的改变,从而让View的内容动起来。(本文章会重点介绍)逐帧动画:传统的基于单元格的动画,每一帧显示一个不同的Drawable。逐帧动画可以在一个View中显示,并使用它的Canvas作为投影屏幕。(本文章会重点介绍)属性动画:属性...

weixin_29917533的博客 1232

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Android动画之animation-list实现逐帧动画

简介 帧动画(Frame Animation又称Drawable Animation)是最简单的Android动画效果,其与电影多重连续帧播放原理相似,通过视觉残留来让人感知到动画效果。其实现方式是将一张张Drawable图片按顺序排列并逐张按时播放来达到实现的动画效果,对应的实现类是AnimationDrawable。它有两种实现方式:代码实现和XML实现,其中XML实现方式较为简单。

一花一世界的博客 4815

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Android用Animation-list实现逐帧动画

Android用Animation-list实现逐帧动画 先看看效果图 下面是2个动画的xml文件 animation1.xml xml version="1.0" encoding="utf-8"?> 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 根标签下,通过item

anlun的专栏 522

转Android 用Animation-list实现逐帧动画

Android 用Animation-list实现逐帧动画 第一步:先上图片素材,以下素材放到res/drawable目录下: http://blog.youkuaiyun.com/aminfo/article/details/7847761 图片素材: 文件名称:...

weixin_30642305的博客 86

android 跑步帧动画,Android 用Animation-list实现逐帧动画

packageorg.shuxiang.test;importandroid.app.Activity;importandroid.graphics.drawable.AnimationDrawable;importandroid.os.Bundle;importandroid.view.View;importandroid.view.View.OnClickListener;importandr...

weixin_34546240的博客 361

【Animation】Android 用Animation-list实现逐帧动画

第一步:先上图片素材,以下素材放到res/drawable目录下: 图片素材: 文件名称: icon1.png icon1.png icon1.png icon1.png icon1

天。朝程序猿的专栏 1434
上一篇: 一个简单又奇葩的问题
下一篇: 【Android 基础】Animation 动画介绍和实现【帧动画和Tween动画【在代码和xml中实现】】
Happy_Develop_
博客等级 码龄12年 26粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值