帧动画就是将一些列图片。依次播放。

利用肉眼的“视觉暂留”的原理,给用户的感觉是动画的错觉,逐帧动画的原理和早期的电影原理是一样的。

a:须要定义逐帧动画,能够通过代码定义。也能够通过XML文件定义。一般XML文件定义比較直观

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false"> <!--false是循环播放 -->
<!-- drawables是每一张图片。 duration是图片持续的时间 -->
<item android:drawable="@drawable/g1" android:duration="200" />
<item android:drawable="@drawable/g2" android:duration="200" />
<item android:drawable="@drawable/g3" android:duration="200" />
<item android:drawable="@drawable/g4" android:duration="200" />
<item android:drawable="@drawable/g5" android:duration="200" />
<item android:drawable="@drawable/g6" android:duration="200" />
<item android:drawable="@drawable/g7" android:duration="200" />
<item android:drawable="@drawable/g8" android:duration="200" />
<item android:drawable="@drawable/g9" android:duration="200" />
<item android:drawable="@drawable/g10" android:duration="200" />
<item android:drawable="@drawable/g11" android:duration="200" />
</animation-list>

当中oneshot代表的是否循环播放,false是循环播放,true是仅仅播放一次

b:将上述的XMLd定义的资源,设置为ImageView的背景

        //找到imageview
ImageView iv = (ImageView) findViewById(R.id.iv);
//将帧动画的资源文件设置为imageview的背景
iv.setBackgroundResource(R.drawable.frameanimation);

c:获得AnimationDrawable对象

        //获取AnimationDrawable对象
AnimationDrawable ad = (AnimationDrawable) iv.getBackground();

d:開始播放动画就ok

    //開始播放动画
ad.start();

Activity整个代码:

public class MainActivity extends Activity {

    @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); //找到imageview
ImageView iv = (ImageView) findViewById(R.id.iv);
//将帧动画的资源文件设置为imageview的背景
iv.setBackgroundResource(R.drawable.frameanimation);
//获取AnimationDrawable对象
AnimationDrawable ad = (AnimationDrawable) iv.getBackground();
//開始播放动画
ad.start();
}
}

演示效果:

Android 学习之逐帧动画(Frame)的更多相关文章

  1. Android简单逐帧动画Frame的实现(二)

    Android简单逐帧动画Frame的实现   Android简单逐帧动画Frame的实现 1.逐帧动画 即是通过播放预先排序好的图片来实现动态的画面,感觉像是放电影. 2.实现步骤: 1. 在工程里 ...

  2. Android简单逐帧动画Frame的实现(三)

    android之动画(三)通过AnimationDrawable控制逐帧动画     android与逐帧动画: 效果图: 当我们点击按钮时,该图片会不停的旋转,当再次点击按钮时,会停止在当前的状态. ...

  3. Android(java)学习笔记198:Android下的逐帧动画(Drawable Animation)

    1.帧动画: 帧动画顾名思义,一帧一帧播放的动画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一帧 ...

  4. Android(java)学习笔记141:Android下的逐帧动画(Drawable Animation)

    1. 帧动画: 帧动画顾名思义,一帧一帧播放的动画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一 ...

  5. android中的逐帧动画

    在android中实现动画最简单的一种方式就是使用逐帧动画(AnimationDrawable).逐帧动画的原理同最古老的动画机制是一样的,通过快速的播放一组变化微小的图片,在人眼的视差时间下,达到一 ...

  6. Android中实现一个简单的逐帧动画(附代码下载)

    场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...

  7. Android动画效果之Frame Animation(逐帧动画)

    前言: 上一篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画),今天来总结下Android的另外一种动画Frame ...

  8. Android 逐帧动画isRunning 一直返回true的问题

    AnimationDrawabl主要通过xml实现逐帧动画,SDK实例如下: An AnimationDrawable defined in XML consists of a single < ...

  9. Android动画之逐帧动画(FrameAnimation)详解

    今天我们就来学习逐帧动画,废话少说直接上效果图如下: 帧动画的实现方式有两种: 一.在res/drawable文件夹下新建animation-list的XML实现帧动画 1.首先在res/drawab ...

随机推荐

  1. PostgreSQL order by 排序问题

    默认的排序为order by 字段名, 如果该字段不允许为空的情况下可以这样操作, 但是当字段允许为null时,order by 字段名的方式会导致: 升序时(asc): 会从最小值开始升序,最后面接 ...

  2. 微信小程序开发 -- 设置屏幕亮度

    wx.setScreenBrightness(OBJECT) 设置屏幕亮度. OBJECT参数说明: 参数 类型 必填 说明 value Number 是 屏幕亮度值,范围 0~1,0 最暗,1 最亮 ...

  3. curl 请求

    一.Linux curl用法举例: . linux curl抓取网页: 抓取百度: curl http://www.baidu.com curl http://www.baidu.com 如发现乱码, ...

  4. hdu6103[尺取法] 2017多校6

    /*hdu6103[尺取法] 2017多校6*/ #include <bits/stdc++.h> using namespace std; int T, m; ]; void solve ...

  5. 【bzoj3566】[SHOI2014]概率充电器 树形概率dp

    题目描述 著名的电子产品品牌 SHOI 刚刚发布了引领世界潮流的下一代电子产品——概率充电器:“采用全新纳米级加工技术,实现元件与导线能否通电完全由真随机数决定!SHOI 概率充电器,您生活不可或缺的 ...

  6. 性能学习之--loaderunner压测

    打开一个脚本,tools-create Controllwer Scenario,开始场景的设计 一.场景设计--手工测试 1.初始化 2.start vu 一般选择simultaneously,用户 ...

  7. 如何在c#代码中执行带GO语句的SQL文件

      需要在C#代码中执行一个SQL文件的内容.遇到了两个问题: 1. 因为SQL文件中有"GO"语句,执行时报错"Incorrect syntax near 'GO'.& ...

  8. 用-webkit-box-reflect制作倒影

    1.只在webkit内核的浏览器上有效果 2.语法: -webkit-box-reflect: <direction> <offset> <mask-box-image& ...

  9. 刷题总结——Human Gene Functions(hdu1080)

    题目: Problem Description It is well known that a human gene can be considered as a sequence, consisti ...

  10. mybatis学习(六)——参数处理

    先总结一下,后面再一个个解释: 单个参数:直接使用#{参数名}进行取值,mybatis没做特殊处理,参数名可以随便写. 多个参数:使用#{param1},#{param2}取值 命名参数:通过@par ...