Android学习笔记之动画简介

由于在本科期间对动画产生过兴趣,利用Adobe Flash制作过一些小的动态图,正好在学Android动画制作,所以来记录一下学习笔记。目前,在Android中,有以下三种动画模式:

1>Frame Animation:逐帧动画,通过利用每张静态图片在人眼的“视觉暂留”,以达到动画目的,就像一开始的动画片一样,将每一张图片合订,在随着页码的翻动,显示给人们的感觉就像是动起来一样。配置逐帧动画,即在drawable文件夹下创建Xml文件,然后在<animation-list.../>元素中逐个配置<item>元素,制定各个图片的持续时间。

具体配置如下:

<?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/pic1"//文件资源
        android:duration="200"/>//设置持续时间
    <item
        android:drawable="@drawable/pic2"
        android:duration="200"/>
    ...
</animation-list>

然后在Activity中设置ImageView监听即可。

2>Tween Animation:补间动画,通过对图像进行基本处理,如旋转、拉伸等操作,不需要定义每一张图像,关键在于动画的开始与结束,同时制定动画执行时间。该动画模式主要可以实现渐变alpha、旋转rotate、伸缩scale、位移translate四种效果。

(1)alpha.xml

<alpha
        android:duration="1000"//动画持续时间,ms为单位
        android:fromAlpha="0.5"//动画起始透明度
        android:toAlpha="1.0"/>//动画结束透明度

(2)rotate.xml

<rotate
        android:duration="1000"
        android:fromDegrees="0"//动画起始角度
        android:pivotX="50%"//动画相对于物件的X坐标的开始位置,从0%到100%中取值
        android:pivotY="50%"//动画相对于物件的Y坐标的开始位置
        android:toDegrees="+180"/>//动画结束角度
(3)scale.xml
<scale
        android:duration="1000"
        android:fillAfter="true"//表示该动画在结束后被调用
        android:fromXScale="1.0"//0表示收缩到没有,1.0表示正常无收缩,小于1.0收缩,反之,放大
        android:fromYScale="1.0"
        android:pivoX="50%"
        android:pivoY="50%"
        android:toXScale="0.5"
        android:toYScale="0.5" />
(4)translate.xml
<transitate
        android:duration="1000"
        android:fromXDelta="0"//动画起始X坐标的位置
        android:fromYDelta="0"
        android:toXDelta="180"
        android:toYDelta="180" />
以上基本可以实现动画效果,但是对于到底需要插入多少张图片,中间该保留多长时间,都需要自己去计算,因此,Android提供了Interpolator来控制计算整个动画需要的图像的数目和位置,从而实现动画的加速、减速、匀速等。

Interpolator接口的常用实现类有:AccelerateDecelerateInterpolator(开始、结束时减速,中间加速)、AccelerateInterpolator(开始慢速、然后加速)、CycleInterpolator(循环播放指定次数。速度按正弦变化)、DecelerateInterpolator(开始较快,然后减速)、LinearInterpolator(匀速变化)。

3>Property Animation,属性动画,利用对象的基本属性变化形成动画,如Butten的位置和大小变化。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值