Android属性动画的三种使用方式

2019-03-27  本文已影响0人  我吃大西瓜QAQ

第一种:ViewPropertyAnimator

专门针对view设计的,使用简单操作方便,但是不易于扩展

使用方式:
view
.animate()
.scale(1)
.translationX(300)
.setDuration(2000)
.start();

第二种:ObjectAnimator

继承自ValueAnimator
实际上是通过调用view里面的setter()方法来更新参数值,例如下面的alpha实际上是调用的view里面的setAlpha()方法来更新值

使用方式
旋转 rotationrotationXrotationY
移动 translationXtranslationY
缩放 scaleXscaleY
透明度 alpha
ObjectAnimator animator = ObjectAnimator.ofFloat(view,"alpha",1,0,1);
animator.setDuration(2000);  
animator.start(); 

第三种方式: ValueAnimator

使用方式:
ValueAnimator animator = ValueAnimator.ofInt(0,400);//创建一个值从0到400的动画
animator.setDuration(1000);//动画时长为1s

animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
        int curValue = (int)animation.getAnimatedValue();
        tv.layout(curValue,curValue,curValue+tv.getWidth(),curValue+tv.getHeight());  
    }
});

三种方式的区别:

上一篇下一篇

猜你喜欢

热点阅读