文档章节

【专题】Android Frame动画

老牟
 老牟
发布于 2014/04/30 12:02
字数 369
阅读 517
收藏 7

Android Frame动画是指帧动画,如果你了解flash相关,就知道帧动画是把一帧帧的对象组成起来,然后一帧一帧的播放,跟电影播放差不多。

什么情况下会使用帧动画呢?

下面就来个实际的项目例子例子,

本来想添加个实际项目里的GIF动画的,结果发现没有软件录屏幕。

Android 帧动画 可以通过两种方式来设置加载动画,一种是直接配置xml文件的形式,第二种是直接通过过代码的形式。

下面来看第一种,

创建动画xml文件

路径: /res/anim/shutter.xml

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/shutter0" android:duration="100" />   
<item android:drawable="@drawable/shutter1" android:duration="100" />   
<item android:drawable="@drawable/shutter2" android:duration="100" />    
</animation-list>

在Activity中使用

ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
img.setBackgroundResource(R.anim.shutter;
AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();
frameAnimation.start();    // 开始动画
frameAnimation.stop();    // 停止动画
frameAnimation.setOneShot(false);   // 设置不循环播放
frameAnimation.isRunning();            // 是否在播放动画

再来看第二种

在Activity中使用

private int[] frame = new int[] {R.drawable.shutter0, R.drawable.shutter1, R.drawable.shutter2};
AnimationDrawable frameAnimation = new AnimationDrawable()
for (int id : frame) {
    Drawable frame =  activity.getResources().getDrawable(id);   frameAnimation.addFrame(frame, 1000);
}frameAnimation.setOneShot(false);
frameAnimation.start();    // 开始动画
frameAnimation.stop();    // 停止动画
frameAnimation.setOneShot(false);   // 设置不循环播放
frameAnimation.isRunning();            // 是否在播放动画



© 著作权归作者所有

共有 人打赏支持
老牟
粉丝 13
博文 20
码字总数 8401
作品 0
成都
程序员
Android动画效果 translate、scale、alpha、rotate 切换Acti...

2011.10.28注:如果需要控件停在动画后的位置,需要设置android:fillAfter属性为true,在set节点中。默认在动画 结束后回到动画前位置。设置android:fillAfter后,我们看到了控件留在了动画后的...

Jerikc
2012/11/19
0
0
Android Animation学习笔记

关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式: 1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画...

xiahuawuyu
2012/11/21
0
0
Android animation 学习

关于动画的实现,Android提供了Animation,在Android SDK介绍了2种Animation模式: 1. Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画...

所属暮雪
2014/05/26
0
0
Android动画效果 translate、scale、alpha、rotate

Android的动画效果分为两种,一种是tweened animation(补间动画),第二种是frame by frame animation。 一般我们用的是第一种。补间动画又分为AlphaAnimation,透明度转换 RotateAnimation,...

黑马108
2012/10/19
0
0
Android 平滑和立体翻页效果1

Android 平台提供了一套完整的动画框架,使得开发者可以用它来开发各种动画效果,本文将向读者阐述 Android 的动画框架是如何实现的。任何一个框架都有其优势和局限性,只有明白了其实现原理...

紫地瓜
2012/10/25
0
4

没有更多内容

加载失败,请刷新页面

加载更多

打开eclipse出现an error has occurred see the log file

解决方法: 1,打开eclipse安装目录下的eclipse.ini文件; 2,打开的文本文件最后添加一行 --add-modules=ALL-SYSTEM 3,保存重新打开Eclipse。...

任梁荣
昨天
4
0
搞定Northwind示例数据库,无论哪个版本的SQLServer都受用

Northwind数据库 从这里可以找到突破口: http://social.msdn.microsoft.com/Forums/zh-CN/Vsexpressvb/thread/8490a1c6-9018-40c9-aafb-df9f79d29cde 下面是MSDN: http://msdn2.microsoft......

QQZZFT
昨天
1
0
mysql主从同步,安装配置操作

准备 两台mysql服务,我这里准备了如下: 主库:192.168.176.128 从库:192.168.176.131 如何在Linux上安装mysql服务,请看https://blog.csdn.net/qq_18860653/article/details/80250499 操作...

小致dad
昨天
4
0
一个手机装天下,走遍中国都不怕!

导读 “1200元(人民币,下同),微信支付,可以,你扫我。”来自西非马里共和国的展商Albert拿着手机,和一位买走他手鼓的中国游客用简单的汉语交流着。 近日,“第十四届中俄蒙经贸洽谈暨商品...

问题终结者
昨天
3
0
Redis的“死键”问题

大规模的数据库存储系统中,数据的生命周期管理是很有必要的;从业务角度发现过期数据,数据归档和数据碎片整理等。以MySQL为例,1个运行很久的TB级MySQL实例中,极有可能数百GB的数据,对业...

IT--小哥
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部