全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android逐帧动画实现代码

逐帧动画(Frame-by-frame Animations)顾名思义就是一帧接着一帧的播放图片,就像放电影一样。可以通过xml实现也可以通过java代码实现。逐帧动画适合实现比较简单的动画效果,如果要实现复杂动画不太建议使用逐帧动画。

xml方式实现:

step 1 : 在res/drawable目录下一个文件sample_animlist.xml:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
 android:oneshot="false">
 <item
 android:drawable="@mipmap/sample_1"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_2"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_3"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_4"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_5"
 android:duration="100" />
 <item
 android:drawable="@mipmap/sample_6"
 android:duration="100" />
</animation-list>

动画列表(animation-list)由一个或者多个item节点组成,item节点用来声明一个动画帧
drawable: 该帧的图片资源
duration : 播放时间 单位为毫秒
oneshot : 是否只播放一次,true表示只会播放一次,false表示一直循环播放

step 2:

利用ImageView作为播放载体

 <ImageView
 android:id="@+id/iv_ani"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:src="@drawable/sample_animlist" />


step3: 在Activity实现初始化 、暂停、播放。

public class MainActivity extends AppCompatActivity {

 private ImageView iv_ani;
 private AnimationDrawable mAnimationDrawable;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 iv_ani = (ImageView) findViewById(R.id.iv_ani);
 mAnimationDrawable = (AnimationDrawable) iv_ani.getDrawable();
 }

 @Override
 public void onWindowFocusChanged(boolean hasFocus) {
 super.onWindowFocusChanged(hasFocus);
 //window初始化完毕 开始播放动画
 animationStart();
 }

 @Override
 protected void onPause() {
 animationStop();
 super.onPause();
 }

 private void animationStart() {
 if (null != mAnimationDrawable)
  mAnimationDrawable.start();//开始播放
 }

 private void animationStop() {
 if (null != mAnimationDrawable)
  mAnimationDrawable.stop();//暂停播放
 }
}

纯Java方式实现

public class MainActivity extends AppCompatActivity {

 private ImageView iv_ani;
 private AnimationDrawable mAnimationDrawable;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 iv_ani = (ImageView) findViewById(R.id.iv_ani);
 initAnimationDrawable();
 }

 private void initAnimationDrawable(){
 mAnimationDrawable = new AnimationDrawable();
 for (int i = 1; i <= 4; i++) {
  int id = getResources().getIdentifier("sample_" + i, "mipmap", getPackageName());
  Drawable drawable = getResources().getDrawable(id);
  mAnimationDrawable.addFrame(drawable, 100);
 }
 mAnimationDrawable.setOneShot(false);
 iv_ani.setImageDrawable(mAnimationDrawable);

 }
}

addFrame(Drawable frame, int duration) : 添加一帧,并设置该帧显示的持续时间

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# Android  # 逐帧动画  # Android Studio实现帧动画  # Android 帧动画使用详情  # Android动画系列之帧动画和补间动画的示例代码  # Android 帧动画的实例详解  # Android实现帧动画的两种方式  # 可以通过  # 就像  # 多个  # 不太  # 只会  # 顾名思义  # 大家多多  # 持续时间  # 播放时间  # item  # false  # mipmap  # duration  # http  # schemas  # apk  # oneshot 


相关文章: c# 在高并发下使用反射发射(Reflection.Emit)的性能  建站中国官网:模板定制+SEO优化+建站流程一站式指南  ppt制作免费网站有哪些,ppt模板免费下载网站?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  安徽网站建设与外贸建站服务专业定制方案  建站主机如何安装配置?新手必看操作指南  c# 服务器GC和工作站GC的区别和设置  如何在西部数码注册域名并快速搭建网站?  如何通过FTP空间快速搭建安全高效网站?  如何通过智能用户系统一键生成高效建站方案?  广州网站制作的公司,现在专门做网站的公司有没有哪几家是比较好的,性价比高,模板也多的?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  python的本地网站制作,如何创建本地站点?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何在橙子建站上传落地页?操作指南详解  武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?  建设网站制作价格,怎样建立自己的公司网站?  建站VPS能否同时实现高效与安全翻墙?  如何快速配置高效服务器建站软件?  广州美橙建站如何快速搭建多端合一网站?  移民网站制作流程,怎么看加拿大移民官网?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  设计网站制作公司有哪些,制作网页教程?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  焦点电影公司作品,电影焦点结局是什么?  建站为何优先选择香港服务器?  如何彻底删除建站之星生成的Banner?  如何在Golang中使用replace替换模块_指定本地或远程路径  建站之星安装模板失败:服务器环境不兼容?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何通过网站建站时间优化SEO与用户体验?  javascript中的try catch异常捕获机制用法分析  建站之星好吗?新手能否轻松上手建站?  如何快速搭建高效WAP手机网站?  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  建站之星备案流程有哪些注意事项?  如何在腾讯云免费申请建站?  广东企业建站网站优化与SEO营销核心策略指南  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  大同网页,大同瑞慈医院官网?  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  个人摄影网站制作流程,摄影爱好者都去什么网站?  网站建设设计制作营销公司南阳,如何策划设计和建设网站?  网站制作壁纸教程视频,电脑壁纸网站?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  实现虚拟支付需哪些建站技术支撑?  如何挑选最适合建站的高性能VPS主机?  宝塔建站教程:一键部署配置流程与SEO优化实战指南 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。