Android动画(1)--概述及FrameAnimation

最近看了一些研究Android动画的一些资料,为了方便自己和他人学习,现在在此做一些记录分析。

概述


Android动画的实现不得不谈一个类 ,叫Animation这些类为某个属性动画系统提供功能,它使你可以赋予任何类型的对象属性以动态特性。int,float,和十六进制颜色值这些被默认支持。你还可以通过指定一个客制的类型计算器,告诉系统如何对给给定的类型计算它的值,以此来为任何其他类型增加动画效果。 更多信息,参见动画章节向导 你可以设置多种不同类型的内插器(包含于 android.view.animation之中),指定关键帧,或者顺序或同时播放的动画组(通过AnimatorSet),以更进一步控制你的动画行为。


Animation可以分为ViewAnimation和Property Animation,当然,View的Animation又分为帧动画和补间动画。为了实现动画效果,我们不仅可以使用Animation这个类,还可以使用自定义view来实现相关功能

View Animation(Tween Animation)只能支持简单的缩放、平移、旋转、透明度基本的动画,且有一定的局限性。
Frame Animation (Drawable Animation)使用Animation-list将一串drawable进行排列,ViewAnimation的一种形式
Property Animation通过动画的方式改变对象的属性了

帧动画(Frame Aniamtion )

帧动画的实现比较简单,有点类似连环画一样,是将一系列drawable串起来的动画形式

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">

    <item
        android:drawable="@mipmap/animation1"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation2"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation3"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation4"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation5"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation6"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation7"
        android:duration="150"></item>
    <item
        android:drawable="@mipmap/animation8"
        android:duration="150"></item>
</animation-list>
    根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画
    根标签下,通过item标签对动画中的每一个图片进行声明
    android:duration 表示展示所用的该图片的时间长度

动画的使用方法

1,将文件创建在Drawable目录下
2,代码中引用

imgPic.setImageResource(R.drawable.animation);
        //给动画资源赋值
        animationDrawable = (AnimationDrawable) imgPic.getDrawable();

//动画开始
  animationDrawable.start();//开始
  //动画结束
  animationDrawable.stop(); //停止
  就是这么简单

使用注意

此方法小概率会导致OOM,不推荐使用

效果图

这一节就写到这里,下一节,我们来介绍View Animation的。Tween animation,请持续关注,如有不足,欢迎讨论交流,共同进步

项目的github例子地址为:
https://github.com/litianyuan1111/AndroidAnimation

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值