Android 逐帧动画创建实例详解

发布时间 - 2026-01-11 03:02:10    点击率:

Android 逐帧动画创建实例详解

前言:

我们看早期电影的时候,电影通常是一张一张播放,用我们现在专有名词来说,就是一帧帧来,安卓同样有这样动画效果的编排形式。

那么我们先定义逐帧动画xml文件

<?xml version="1.0" encoding="utf-8"?> 
<animation-list 
  xmlns:android="http://schemas.android.com/apk/res/android" 
  android:oneshot="true"> 
 
  <item 
    android:drawable="@drawable/pic1" 
    android:duration="200" /> 
  <item 
    android:drawable="@drawable/pic2" 
    android:duration="200" /> 
  <item 
    android:drawable="@drawable/pic3" 
    android:duration="200" /> 
  <item 
    android:drawable="@drawable/pic4" 
    android:duration="200" /> 
  <item 
    android:drawable="@drawable/pic5" 
    android:duration="200" /> 
  <item 
    android:drawable="@drawable/pic6" 
    android:duration="200" /> 
  <item 
    android:drawable="@drawable/pic7" 
    android:duration="200" /> 
   <item 
    android:drawable="@drawable/pic8" 
    android:duration="200" /> 
   <item 
    android:drawable="@drawable/pic8" 
    android:duration="200" /> 
    
 
 
</animation-list> 

main.xml

<ImageView 
    android:id="@+id/pic" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:layout_marginLeft="98dp" 
    android:layout_marginTop="69dp" 
     /> 
 
  <Button 
    android:id="@+id/button1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_marginBottom="54dp" 
    android:layout_marginLeft="98dp" 
    android:onClick="startMovie" 
    android:text="开始播放电影" /> 
 

Activiy代码:

public class MyAnimationDemo extends Activity { 
 
  private AnimationDrawable draw=null; 
  private ImageView image; 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_my_animation_demo); 
    image=(ImageView)super.findViewById(R.id.pic); 
  } 
 
  public void startMovie(View v){ 
    image.setBackgroundResource(R.anim.oldvideo);//第一步,设置图片资源 
    draw=(AnimationDrawable)image.getBackground();//取得图片背景的Drawable 
    draw.setOneShot(false);//动画执行次数 
    draw.start();//开始动画 
     
  } 
 
} 
 

这里我们看到,

第一步,设置图片背景资源

第二步,设置得到图片背景的draw

第三步,设置draw参数,并start()

实现效果如下,间隔0.2秒即换图,实现老电影动画效果


 

 以上就是Android 逐帧动画的实例详解,如有疑问请留言或到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 逐帧动画  # Android动画的详解  # 动画的实例详解  # Android动画之逐帧动画(Frame Animation)实例详解  # Android 动画(View动画  # 帧动画  # 属性动画)详细介绍  # Android逐帧动画实现代码  # Android 使用帧动画内存溢出解决方案  # Android之仿美团加载数据帧动画  # Android动画之逐帧动画(Frame Animation)基础学习  # Android帧动画、补间动画、属性动画用法详解  # Android编程之简单逐帧动画Frame的实现方法  # Android 帧动画的实例详解  # Android Studio实现帧动画  # 如有  # 希望能  # 谢谢大家  # 用我  # 第二步  # 第三步  # 或到  # 疑问请  # duration  # true  # oneshot  # item  # drawable  # layout_width  # pic  # wrap_content  # layout_alignParentLeft  # layout_height  # id  # ImageView 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  网站制作软件免费下载安装,有哪些免费下载的软件网站?  如何用腾讯建站主机快速创建免费网站?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  MySQL查询结果复制到新表的方法(更新、插入)  Laravel如何使用Vite进行前端资源打包?(配置示例)  Python进程池调度策略_任务分发说明【指导】  网页设计与网站制作内容,怎样注册网站?  中国移动官方网站首页入口 中国移动官网网页登录  详解vue.js组件化开发实践  使用豆包 AI 辅助进行简单网页 HTML 结构设计  高性价比服务器租赁——企业级配置与24小时运维服务  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  如何基于云服务器快速搭建个人网站?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何在云主机上快速搭建网站?  制作公司内部网站有哪些,内网如何建网站?  如何在 React 中条件性地遍历数组并渲染元素  香港服务器租用每月最低只需15元?  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  企业网站制作这些问题要关注  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel安装步骤详细教程_Laravel环境搭建指南  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  如何快速搭建安全的FTP站点?  Mybatis 中的insertOrUpdate操作  如何快速使用云服务器搭建个人网站?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  利用JavaScript实现拖拽改变元素大小  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何快速重置建站主机并恢复默认配置?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  如何在不使用负向后查找的情况下匹配特定条件前的换行符  LinuxShell函数封装方法_脚本复用设计思路【教程】  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何快速查询域名建站关键信息?  Laravel如何实现本地化和多语言支持?(i18n教程)  C++时间戳转换成日期时间的步骤和示例代码  如何在橙子建站上传落地页?操作指南详解  深入理解Android中的xmlns:tools属性  详解Oracle修改字段类型方法总结  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在腾讯云服务器快速搭建个人网站?