Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ValueAnimator没有';当启用节电功能(>;=API 21)时,不能按预期工作_Android_Animation_Android 5.0 Lollipop_Android 6.0 Marshmallow - Fatal编程技术网

Android ValueAnimator没有';当启用节电功能(>;=API 21)时,不能按预期工作

Android ValueAnimator没有';当启用节电功能(>;=API 21)时,不能按预期工作,android,animation,android-5.0-lollipop,android-6.0-marshmallow,Android,Animation,Android 5.0 Lollipop,Android 6.0 Marshmallow,ValueAnimator似乎不会重复或播放在Android棒棒糖或更高版本中启用电池节电时无限重复的动画 animator = ValueAnimator.ofInt(0,timePeriods.length-1); animator.setInterpolator(new LinearInterpolator()); animator.setEvaluator(new TypeEvaluator() { @Override public

ValueAnimator似乎不会重复或播放在Android棒棒糖或更高版本中启用电池节电时无限重复的动画

    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 ;
            }
        }
    });
animator=ValueAnimator.ofInt(0,timePeriods.length-1);
setInterpolator(新的LinearInterpolator());
animator.setEvaluator(新的TypeEvaluator(){
@凌驾
公共对象求值(浮点v、对象o、对象t1){
整数时间=0;
int timeappeased=(int)(v*总时间);
for(int i=0;i=时间流逝)返回i;
}
返回0;
}
});
设置持续时间(总时间);
设置repeatCount(repeatCount);
animator.addUpdateListener(新值animator.AnimatorUpdateListener(){
int currentValue=-1;
@凌驾
动画更新上的公共无效(ValueAnimator ValueAnimator){
int value=(整数)valueAnimator.getAnimatedValue();
如果(值!=当前值){
Log.d(标记“值已更改:”+currentValue+“”+Value);
当前值=当前值;
}
}
});

当电池节电功能启用时,动画制作者只播放动画一次,之后不再重复。。。应用程序或活动中是否有任何设置|标志,以便即使在电池电量不足的模式下运行动画师,因为上述动画师是一个简单的整数值动画师,不会进一步耗尽电池电量。

是否添加了setRepeatCount(ObjectAnimator.INFINITE)和setRepeatMode(ObjectAnimator.RESTART)?它默认为,是的,我将重复计数设置为如上所示。。。当禁用电池节电模式时,它工作得非常好这有一段时间,但对于其他人,电池节电模式会避免动画,因此动画在启动时会被覆盖,以便立即调用结束。是否添加了setRepeatCount(ObjectAnimator.INFINITE)和setRepeatMode(ObjectAnimator.RESTART)?它默认为,是的,我将重复计数设置为如上所示。。。当禁用电池节约模式时,它工作得非常好这有一段时间,但对于其他人,电池节约模式会避免动画,因此启动时动画会被覆盖,以便在启动后立即调用结束。