Android 用Animation-list实现逐帧动画
本文转载:http://blog.csdn.net/aminfo/article/details/7847761
第一步:先上图片素材,以下素材放到res/drawable目录下:
第二步:上动画Animation-list帧布局文件,有2个,一个是按顺序显示动画,一个是倒序显示动画,文件存放在res/drawable目录下
顺序显示动画文件:animation1.xml
<?xml version="1.0" encoding="utf-8"?> <!-- 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画根标签下,通过item标签对动画中的每一个图片进行声明android:duration 表示展示所用的该图片的时间长度--> <animation-listxmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="true"><item android:drawable="@drawable/icon1" android:duration="150"></item><item android:drawable="@drawable/icon2" android:duration="150"></item><item android:drawable="@drawable/icon3" android:duration="150"></item><item android:drawable="@drawable/icon4" android:duration="150"></item><item android:drawable="@drawable/icon5" android:duration="150"></item><item android:drawable="@drawable/icon6" android:duration="150"></item> </animation-list>
倒序显示动画文件:animation2.xml
<?xml version="1.0" encoding="utf-8"?> <!-- 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画根标签下,通过item标签对动画中的每一个图片进行声明android:duration 表示展示所用的该图片的时间长度--> <animation-listxmlns:android="http://schemas.android.com/apk/res/android"android:oneshot="true"><item android:drawable="@drawable/icon6" android:duration="150"></item><item android:drawable="@drawable/icon5" android:duration="150"></item><item android:drawable="@drawable/icon4" android:duration="150"></item><item android:drawable="@drawable/icon3" android:duration="150"></item><item android:drawable="@drawable/icon2" android:duration="150"></item><item android:drawable="@drawable/icon1" android:duration="150"></item> </animation-list>
第三步:上布局文件,放在res/layout目录下,文件名main.xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical"><ImageView android:id="@+id/animationIV"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="5px"android:src="@drawable/animation1"/> <Button android:id="@+id/buttonA"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="5px"android:text="顺序显示" /><Button android:id="@+id/buttonB"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="5px"android:text="停止" /><Button android:id="@+id/buttonC"android:layout_width="wrap_content"android:layout_height="wrap_content"android:padding="5px"android:text="倒序显示" /></LinearLayout>
第四步:上Activity文件,文件名:MainActivity.java
package org.shuxiang.test;import android.app.Activity; import android.graphics.drawable.AnimationDrawable;import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.view.Window; import android.widget.Button; import android.widget.ImageView;public class Activity10 extends Activity {private ImageView animationIV;private Button buttonA, buttonB, buttonC;private AnimationDrawable animationDrawable;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.test10);animationIV = (ImageView) findViewById(R.id.animationIV);buttonA = (Button) findViewById(R.id.buttonA);buttonB = (Button) findViewById(R.id.buttonB);buttonC = (Button) findViewById(R.id.buttonC);buttonA.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stub animationIV.setImageResource(R.drawable.animation1);animationDrawable = (AnimationDrawable) animationIV.getDrawable();animationDrawable.start();}}); buttonB.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubanimationDrawable = (AnimationDrawable) animationIV.getDrawable();animationDrawable.stop();}});buttonC.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stub animationIV.setImageResource(R.drawable.animation2);animationDrawable = (AnimationDrawable) animationIV.getDrawable();animationDrawable.start();} }); } }
Android 用Animation-list实现逐帧动画相关推荐
- Android 动画解析(一) 逐帧动画(Frame Animation)
简介 开发Android的同学都知道,Android中的动画有逐帧动画(Frame Animation).补间动画(Tween Animation)以及属性动画.其中,逐帧动画(Frame Anima ...
- 安卓动画全解:补间动画(视图动画)、布局动画、属性动画、逐帧动画。动画Animation属性、Alpha属性、Scale属性、Translate属性、Rotate属性,动画集AnimationSet
全栈工程师开发手册 (作者:栾鹏) 安卓教程全解 安卓动画全解:补间动画(视图动画).布局动画.属性动画.逐帧动画. 主要内容包含:动画Animation属性.Alpha属性.Scale属性.Tran ...
- Android案例(逐帧动画和属性动画)
1.实现效果 2.布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmln ...
- Android自定义控件:动画类---逐帧动画AnimationDrawable
1:概述 Android动画包括View Animation(视图动画)和Property Animator(属性动画),而View Animation包括Tween Animation(补间动画)和 ...
- Android 高级编程【6个实战案例(附源码):刮刮卡、补间动画、逐帧动画、Fragment、RecyclerView、下拉刷新】
目 录 刮刮卡案例[ScratchCard] 结构图 activity_main.xml MainActivity.java 运行效果图 补间动画(Tween Animation) 逐帧动画(Fr ...
- Android中的动画2(逐帧动画)
逐帧动画就比较简单了,就是一帧一帧的播放动画,每一帧都是有我们来定义的. 在res/drawable文件夹下新建一个Root element为animation-list的xml文件,命名为anima ...
- android仿微信红包动画,Android仿微信打开红包动画(逐帧动画)
Frame Animation(逐帧动画): 逐帧动画(Frame-by-frame Animations)从字面上理解就是一帧挨着一帧的播放图片,就像放电影一样.和补间动画一样可以通过xml实现也可 ...
- android语音动画,Android逐帧动画的简单使用-语音播放效果的实现
逐帧动画(Frame-By-Frame Animation)原理很简单,即快速切换不同的图片,形成动画效果.Android中逐帧动画的实现方式也很简单,下面以语音播放效果为例说明. 1. 首先准备图片 ...
- Android逐帧动画和补间动画
本篇博客来看一下Android中的逐帧动画和补间动画. 一.逐帧动画 逐帧动画也叫Drawable Animation. 在Android中实现逐帧动画,就是由设计师给出一系列状态不断变化的图片, 开 ...
- 逐帧动画(Frame Animation)
逐帧动画也叫Drawable Animation,是最简单最直观的动画类型,它利用人眼的视觉暂留效应(也就是光对视网膜所产生的视觉),在光停止作用后,仍然会保留一段事件的现象. 在And ...
最新文章
- Gut:人体口腔菌群的稳定性和动态变化规律
- Property ‘configuration‘ and ‘configLocation‘ can not specified with together
- Android4.0与2.3的差异
- oracle保存type类型,oracle type类型
- oracle get_ddl XSL error 解决方法
- (转)GridView固定表头
- Java Integer 对象的比较
- web前端项目实例网站_2020最全web前端项目实战课程(含项目实战+源码)
- 【毕设狗】【单片机毕业设计】基于单片机的智能垃圾桶设计-实物设计
- Kerberos认证模型(c语言实现)
- android sync 文件夹,如何使用FolderSync在安卓手机上同步文件夹到坚果云?
- ubuntu18.04安装dash-to-dock出错的问题
- 十大编程语言黑客向,学会一个不怕没工作,全部学会随便秀操作
- 科技+卫生=智慧公厕,城市焕然一新!
- matlab armax和arima区别,ARMA和ARIMA的区别是什么?
- 在外企必会的英文单词
- css实现元素翻转(不是旋转)
- 面试题:strcpy考虑内存重叠
- python读json文件数组_如何在python中从json文件读取json对象数组
- 无线充电技术目前发展情况如何?对单片机行业有什么启示
热门文章
- mysql数据库字符集作用_MYSQL数据库字符集支持
- linux 内核位置无关,Linux内核启动阶段虚实地址映射
- MOSFET驱动器汇总 : 单个N-CHANNEL,半桥,全桥,3项桥
- 使用Postman测试导入和导出excel
- 天体运行轨迹_海王星轨道外发现139个新天体, 能揭开太阳系第九颗行星奥秘?...
- hdfs 数据迁移_基于JindoFS+OSS构建高效数据湖
- oracle数据库中insert,【Oracle】sql插入之 insert all、insert first
- php中strtotime(date,js模仿php中strtotime()与date()函数实现方法
- 丛林谜题JAVA_丛林王座图文全剧情流程攻略_全谜题解答通关流程_3DM单机
- ad域时间源配置_Windows网络服务与配置管理之活动目录学习