Android ValueAnimator没有';当启用节电功能(>;=API 21)时,不能按预期工作
ValueAnimator似乎不会重复或播放在Android棒棒糖或更高版本中启用电池节电时无限重复的动画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
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)?它默认为,是的,我将重复计数设置为如上所示。。。当禁用电池节约模式时,它工作得非常好这有一段时间,但对于其他人,电池节约模式会避免动画,因此启动时动画会被覆盖,以便在启动后立即调用结束。