ObjectAnimator animator1 = ObjectAnimator.ofFloat(viewBG, "alpha", 1, 0);一些手机会出现的问题

把透明度从1变成0在快变到0的时候会闪一下,是因为透明度突然变成1了,这不是所有手机都会有这个问题

currentValue: 3.2001734E-4
currentValue: 5.376339E-5
currentValue: 3.993511E-6
currentValue: 0.0
currentValue: 0.0

处理方案

ObjectAnimator animator1 = ObjectAnimator.ofFloat(viewBG, "alpha", 1, 0);//X轴平移旋转
animator1.setStartDelay(470);
animator1.setDuration(300);
animator1.setInterpolator(new SmoothInterpolator());
animator1.start();

animator1.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

    @Override
    public void onAnimationUpdate(ValueAnimator animation) {
        float currentValue = (float) animation.getAnimatedValue();
        if (currentValue > 0.002f) {
            viewBG.setAlpha(currentValue);
        } else {//如果太小直接设成0就好了
            viewBG.setAlpha(0);
        }
    }
});

你可能感兴趣的:(android)