启用省电后,ValueAnimator无法正常工作(> = API 21)

时间:2016-07-20 14:16:55

标签: android animation android-5.0-lollipop android-6.0-marshmallow

在Android棒棒糖或更高版本中启用省电后,ValueAnimator似乎不会重复或播放无限重复的动画制作者。

    animator = ValueAnimator.ofInt(0,timePeriods.length-1);
    animator.setInterpolator(new LinearInterpolator());
    animator.setEvaluator(new TypeEvaluator() {
        @Override
        public Object evaluate(float v, Object o, Object t1) {
            int time = 0 ;
            int timeElapsed = (int)(v*totalTime) ;
            for (int i = 0; i < timePeriods.length; i++) {
                time = time + timePeriods[i];
                if(time>=timeElapsed) return i ;
            }
            return 0 ;
        }
    });
    animator.setDuration(totalTime);
    animator.setRepeatCount(repeatCount);
    animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        int currentValue = -1 ;
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {
            int value = (Integer) valueAnimator.getAnimatedValue();
            if(value!=currentValue){
                Log.d(TAG,"Value Changed: "+currentValue+" "+value);
                currentValue = value ;
            }
        }
    });

当启用节电器时,动画师只播放一次动画,之后不再重复...即使在低电量模式下,应用程序或活动中是否有任何设置|标志来运行动画师,因为上面的动画师是一个简单的整数值的颜色,不会再耗尽电池。

0 个答案:

没有答案