Android 动画深入分析(一)——逐帧动画,补间动画

一.前言

Android的动画大致分为三种 ,分别是 逐帧动画 ,补间动画 ,属性动画

二.逐帧动画

逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似于动画片的工作原理。
 
步骤:

  1. 在res/drawable目录下定义一个XML文件,根节点为系统提供的animation-list,然后放入定义更好的图片;
  2. 使用AnimationDrawable类播放第一步定义好的Drawable中的图片,形成动画效果;

示例代码,第一步,创建Drawable文件:

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">
    <item android:drawable="@drawable/image1" android:duration="500"/>
    <item android:drawable="@drawable/image2" android:duration="500"/>
    <item android:drawable="@drawable/image3" android:duration="500"/>

</animation-list>

说明:

  • android:oneshot=“false”: 表示是否重复播放动画,还是只播放一次;
  • 每个item都有Drawable和duration属性,Drawable表示我们要播放的图片;duration表示这张图播放的时间;

示例代码,第二步,用AnimationDrawable播放动画:

 button = findViewById(R.id.button);
 button.setBackgroundResource(R.drawable.frame_animation);//把Drawable设置为button的背景
 AnimationDrawable drawable = (AnimationDrawable) button.getBackground();//拿到这个我们定义的Drawable,实际也就是AnimationDrawable
drawable
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值