属性动画

  • 一个完整的属性动画由以下两部分组成:
    • 计算动画各个帧的相关属性值
    • 将这些属性值设置给指定的对象
      • ValueAnimator为开发者实现了第一部分的功能,第二部分由开发者自行设置
      •   int color = 255;
                int curColor = this.getWindow().getStatusBarColor();
                ValueAnimator colorAnimator = ValueAnimator.ofObject(new ArgbEvaluator(),curColor,color);
                colorAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
                    @Override
                    public void onAnimationUpdate(ValueAnimator animation) {
                        MainActivity.this.getWindow().setStatusBarColor((Integer) animation.getAnimatedValue());
                    }
                });
                colorAnimator.setDuration(3000).setStartDelay(1000);
                colorAnimator.start();
        

         

      • ObjectAnimator封装实现了上面所说的第二部分功能,只有在ObjectAnimator实现不了的场景下,才考虑使用ValueAnimator;ObjectAnimator和ValueAnimator在构造实例时最大的不同是需要指定动画作用的具体对象和对象的属性名,而且一般不需要注册AnimatorUpdateListener监听器 

      •  

  • 属性动画,也可以使用xml ,记住:是在res/目录下,新建animator目录,再在下面加xml

    

  也可以在anim下加,但是不会有提示,引用的时候报警告

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:ordering="together">
    <objectAnimator
        android:duration="2000"
        android:propertyName ="scaleX"
        android:valueFrom="1"
        android:valueTo="0.4"
        android:valueType="floatType"
        ></objectAnimator>
    <objectAnimator
        android:duration="2000"
        android:propertyName ="scaleY"
        android:valueFrom="1"
        android:valueTo="0.4"
        android:valueType="floatType"
        ></objectAnimator>
</set>

  

 

 

 

  • 转场动画也叫过渡动画,也是属性动画的一种
    • Scene定义了页面的当前状态信息,Scene实例化一般通过静态工厂方法实现
    • Transition:定义了界面之间切换的动画信息,在使用TransitionManager时
    • TransitionManager:控制Scene之间切换的控制器,切换常用的方法有以下两个
      • go(Scene scene)
      • go(Scene scene,Transition transition)
    • 过渡动画的使用很简单,首先定义同一个页面的两个布局,分别是动画前的布局和动画后的布局,这两个布局文件的根布局具有相同的android:id值

posted on 2019-02-25 10:21  endian11  阅读(104)  评论(0)    收藏  举报

导航