Android属性动画

1.为什么要引入属性动画?

它其实是对补间动画的一个加强,可以对控件的属性进行

2.动画分为几类?

分为三大类:补间动画,逐帧动画,属性动画

3.属性动画和补间动画的区别:

1).补间动画改变的对象只能是View,只能改变"alpha","rotate","scale","translate"四个属性

2).属性动画:可自定义各种动画效果,不再局限于4种基本变换:平移、旋转、缩放 、透明度(也可以对非view对象使用属性动画)。

4.属性动画重要的类:ValueAnimator类  ObjectAnimator类


1).ValueAnimator 类 :通过不断控制值的变化和手动赋给对象的属性,实现动画效果,提供初始值、结束值、播放次数、播放模式、对动画设置监听器

2).setRepeatCount():循环播放次数

  setRepeatMode():循环播放模式

3).模式分为:RESTART:重新播放

            REVERSE:倒序播放

4).ObjectAnimator:可以对任意对象的属性进行动画操作

objani.ofFloat(控件,"alpha",1f,0f,1f) .setDuration()设置时长

.start()动画开始

5).ValueAnimator的动画监听:

addUpdateListener(new ValueAnimator.AnimatorUpdateListener() { 

    @Override 

    public void onAnimationUpdate(ValueAnimator animation) { 

        float currentValue = (float) animation.getAnimatedValue(); 

        Log.d("TAG", "cuurent value is " + currentValue); 

}); 

6).Animator监听(通用的监听方法)

addListener(new AnimatorListener());其中有四个方法

onAnimationStart():开始执行

onAnimationRepeat():重复执行

onAnimationEnd():结束执行

onAnimationCancel():取消执行

7).只监听addListener()的其中一个方法:

animation.addListener(new AnimatorListenerAdapter() { 

@Override 

public void onAnimationEnd(Animator animation) { 

}); 


5.AnimatorSet:实现组合动画的效果

AnimatorInflater的loadAnimator可以加载XML动画文件


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页