美文网首页
Android属性动画

Android属性动画

作者: 小鱼你好 | 来源:发表于2022-10-03 17:57 被阅读0次

    1、ObjectAnimator

    创建一个 ObjectAnimator 需通过其静态工厂类直接返还一个 ObjectAnimator对象

    ObjectAnimatior animator = ObjectAnimator.ofFloat(view,"translationX",200)
    animator.setDuration(500)
    animator.start()
    

    常用的动画属性包括:
    平移translationX,translationY
    旋转rotation,rotationX,rotationY
    PrivotX和PrivotY:控制View对象的支点位置,围绕这个支点进行旋转和缩放变换处理
    透明度alpha:”默认是1(不透明),0代表完全透明。
    x和y:描述View对象在其容器中的最终位置
    在使用ObjectAnimator的时候,要操作的属性必须要有get和set方法,因此也可以做一些自定义属性进行相应的控制,例如进行View的宽度控制,但是宽度需要自定义getWidth,setWidth方法。

    2、ValueAnimator

    ValueAnimator不提供任何动画效果,它更像一个数值发生器,用来产生有一定规律的数字,从而让调 用者控制动画的实现过程,使用ValueAnimator的AnimatorUpdateListener中监听数值的变化,完成动画的变换。

    ValueAnimator animator = ValueAnimator.ofFloat(0,100)
    animator.setTarget(view)
    animator.setDuration(500).start()
    animator.addUpdateListener(new AnimatorUpdateListener(){
        @Override
        public void onAnimatorUpdata(ValueAnimator value){
            Float mFloat = (Float)value.getAnimatorValue()
        }
    })
    

    3、动画的监听

    完整的动画具有start、Repeat、End、Cancel这4个过程,即实现Animator.AnimatorListener接口的方法,如果不关心所有的流程方法可以实现AnimatorListenterAdaper进行选择自己关注的方法进行处理。

    4、AnimatorSet组合动画,可以调用其with,before,after进行组合执行,after由两个重载方法一个传入时间表示延迟多长时间执行,另一个传入ValueAnimator或者ObjectAnimator表示在play方法传入的动画之后执行。

    5、PropertyValuesHolder组合动画

    用PropertyValuesHolder类只能是多个动画一起执行,需结合 ObjectAnimator.ofPropertyValuesHolder(Object target,PropertyValuesHolder…values)方法来使用。其第 一个参数是动画的目标对象;之后的参数是PropertyValuesHolder类的实例,可以有多个这样的实例,代表共同执行的动画。

    PropertyValuesHolder holder = PropertyValuesHolder .ofFloat("translationX",0,100,0)

    相关文章

      网友评论

          本文标题:Android属性动画

          本文链接:https://www.haomeiwen.com/subject/fyxsartx.html