逐帧动画(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小时内与您取得联系。