伙计们,我正在尝试进行循环动画,但是我希望这辆车在开始动画时停止进行任何新动画,并在完成时不像队列或其他帮助那样在开始时进行新动画? / p>
我的代码
public synchronized ValueAnimator moveVechile(final LatLng finalPosition,final LatLng startPosition) {
final ValueAnimator valueAnimator = ValueAnimator.ofFloat((float) 0.01,(float) 1.5);
valueAnimator.setInterpolator(new LinearInterpolator());
valueAnimator.setDuration(2600);
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorupdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator valueAnimator) {
float t = Float.parseFloat(valueAnimator.getanimatedValue().toString());
LatLng currentPosition = new LatLng(
startPosition.latitude * (1 - t) + (finalPosition.latitude) * t,startPosition.longitude * (1 - t) + (finalPosition.longitude) * t);
// markerDriver.setanchor(0.5f,0.5f);
// markerDriver.setRotation(markerDriver.getRotation());
markerDriver.setPosition(currentPosition);
}
});
valueAnimator.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
Toast.makeText(activity,"Start Animate: "+animation.isStarted(),Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationRepeat(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
Toast.makeText(activity,"End Animate: "+animation.isRunning(),Toast.LENGTH_SHORT).show();
}
@Override
public void onAnimationCancel(Animator animation) {
// ...
}
});
return valueAnimator;
}