Android中的动画


Android提供了3种类型的动画:

 1.补间(Tween)动画: 补间动画就是指开发者只需要指定动画开始、动画结束“关键帧”,而动画变化的“中间帧”由系统计算、并补齐。补间动画可以应用于View,我们可以定义一系列关于位置、大小、旋转和透明度的改变,从而让View的内容动起来。

2.逐帧(Frame)动画:传统的基于单元格的动画,每帧显示一个不同的Drawable。由于系统控制依次显示这些图像,利用人眼“视觉暂留”的原理,给用户造成“动画”的错觉。逐帧动画的动画原理与放电影的原理完成一样。

3.差值属性动画:属性动画系统几乎可以让应用程序中的任何对象动起来。它是一个框架,在一定时间内,通过使用指定的内插技术来影响任意的对象属性。

 

     补间(Tween)动画

   补间动画经常用于:

     1. Activity之间的转换

     2.Activity内的布局间的转换

     3.相同View中的不同内容间的转换

     4.为用户提供反馈,例如提示进度、通过“晃动”输入框来说明错误或者无效的数据输入。

 

创建补间动画:补间动画是使用Animation类创建的。

1.AlphaAnimation   可以改变View的透明度

2.RotateAnimation 可以在XY平面上旋转选中的ViewCanvas

3.ScaleAnimation 允许缩放选中的View

4.TranslateAnimation 可以在屏幕上移动选中的View(但是它只能在其原始边界的范围内显示)

Android提供了AnimationSet类来对动画进行分组和配置。从而让它们作为一个集合运行,如下所示。可以定义集合中的每一个动画的开始时间和持续时间,以此来控制动画序列的时刻安排和顺序。

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

    <scale
        android:duration="1000"
        android:fromXScale="0.0"
        android:fromYScale="0.0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:toXScale="1.0"
        android:toYScale="1.0" />

</set>

       通过调用startAnimation方法,可以将动画应用到任意View中,只需要传递给这个方法要应用的动画或者动画集合即可。

     动画序列将会运行一次,然后停止,除非使用动画或者动画集合中的setRepeatMode和setRepeatCount方法修改这种行为。可以通过把重复模式设置为RESTART或者REVERSE来强制动画循环或者反向运行。设置重复计数可以控制动画重复的次数。


myAnimation.setRepeatMode(Animation.RESTART);

myAnimation.setRepeatCount(Animation.INFINITE);

myView.startAnimation(myAnimation);



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值