android属性动画卡顿问题,求大神指点迷津。

ValueAnimator colseAnimator = ValueAnimator.ofFloat(closeWidth, 0);
colseAnimator.addUpdateListener(new AnimatorUpdateListener() {

        LinearLayout.LayoutParams params = (LayoutParams) 
                closeView.getLayoutParams();
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {

            float f = (Float) animation.getAnimatedValue();
            params.width = (int) f;
            closeView.setLayoutParams(params);
        }
    });

你可以尝试从这几个方面处理一下:
1. 既然params.width是int类型的, 那么就不要使用ValueAnimator.ofFloat,直接使用ValueAnimator.ofInt, 避免强制类型转换。
2. setLayoutParams后索性直接调用一下invalidate(),
3. ValueAnimator如果时间太短的话可能导致回调onAnimationUpdate次数少, 看起来卡顿, 适当延长时间,
另外interpolator(虽然你这里没有写)如果你有指定的话,尽量使用默认构造函数,不要指定小数,那将引发大运算量

图片说明

图片说明

可以跟着这个从头做一遍,看看还会不会出现卡顿现象>>Android开发-属性动画项目公开课

图片说明