Android语言基础教程(182)Android图形图像处理技术动画范例之忐忑的精灵:揭秘Android动画:忐忑的精灵背后技术大起底

一只在屏幕上坐立不安的精灵,背后是Android动画技术的巧妙驱动。

Android动画技术面面观

在Android中,动画的实现主要有三种方式:逐帧动画补间动画属性动画。每种方式都有其适用场景和特点。

逐帧动画就像传统的翻书动画,通过快速连续播放一系列静态图像来创造出运动幻觉。这种动画最适合复杂的、难以通过代码计算的运动效果,比如我们即将实现的“忐忑的精灵”。

补间动画则是通过定义动画的起始状态和结束状态,由系统自动计算中间过渡帧。它包括透明度渐变动画、旋转动画、缩放动画和平移动画等。

属性动画是Android 3.0引入的更强大的动画系统,它可以改变任何对象的属性,不仅限于View对象,提供了更大的灵活性和控制力。

忐忑的精灵:完整实现步骤

准备工作:创建精灵工作表

首先,我们需要一个精灵工作表——这是包含动画所有帧的单个图像文件。想象一下小时候玩的翻书动画,每一页上的小变化在快速翻动时就变成了流畅的动画。

精灵工作表也是同样的道理,它将动画的所有帧按顺序排列在一张图片。

在我们的“忐忑的精灵”例子中,精灵工作表包含了精灵坐立不安的各种姿态:正常状态、眨眼、稍微晃动和大幅晃动。

方法一:使用XML实现逐帧动画

1. 创建动画资源文件

在res/anim目录下创建fairy.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="@drawable/fairy_normal" android:duration="200" />
    <item android:drawable="@drawable/fairy_blink" android:duration="60" />
    <item android:drawable="@drawable/fairy_normal" android:duration="300" />
    <item android:drawable="@drawable/fairy_slight_wiggle1" android:duration="100" />
    <item android:drawable="@drawable/fairy_slight_wiggle2" android:duration="100" />
    <item android:drawable="@drawable/fairy_normal" android:duration="400" />
    <item android:drawable="@drawable/fairy_big_wiggle1" android:duration="8
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值