2018-11-21

属性动画的使用

  • 属性动画主要有两个类ValueAnimator和ObjectAnimator

  1. ValueAnimator类下有三个方法,分别是:
    ValueAnimator.ofInt()、ValueAnimator.oFloat()、ValueAnimator.ofObject()
    • ValueAnimator.ofInt()的使用:
    '''// 步骤1:设置属性数值的初始值和结束值''' 
    ValueAnimator valueAnimator = ValueAnimator.ofInt(button.getLayoutParams().width, 500);
    '''//步骤2:设置动画的各种属性:设置动画运行时长:2s'''
    valueAnimator.setDuration(2000);
    '''//步骤3:设置更新监听器:即数值每次变化更新都会调用该方法'''
    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            int currentValue = (Integer) animation.getAnimatedValue();
            // 获得每次变化后的属性值
            Log.e("qwe", currentValue + "--------");
            // 输出每次变化后的属性值进行查看
            button.getLayoutParams().width = currentValue;
            // 每次值变化时,将值手动赋值给对象的属性
            // 即将每次变化后的值 赋 给按钮的宽度,这样就实现了按钮宽度属性的动态
           '''// 步骤4:刷新视图,即重新绘制,从而实现动画效果'''
            button.requestLayout();
        }
    });
    '''//步骤5:开始动画'''
    valueAnimator.start();

你可能感兴趣的:(2018-11-21)