Hallo,
ich habe folgenden Code:
Code
final ValueAnimator animatorbox2 = ValueAnimator.ofFloat(-1.0f, -2.0f);
animatorbox2.setRepeatCount(0);
animatorbox2.setInterpolator(new LinearInterpolator());
animatorbox2.setDuration(duration);
boxes.add(box);
boxesanimators.add(animatorbox);
boxesanimators2.add(animatorbox2);
boxesboolisactive.add(true);
animatorbox.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
animatorbox2.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
final float progress = (float) animation.getAnimatedValue();
final float width = DimenHelper.getScreenWidth(FullscreenActivity.this);
final float translationX = width * progress;
box.setTranslationX(translationX + width);
}
});
animatorbox2.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
box.setVisibility(View.GONE);
boxesboolisactive.set(boxesboolisactive.size() - 1, false);
}
});
animatorbox2.start();
}
});
animatorbox.start();
Alles anzeigen
Dieser bewirkt nichts anderes, als das sich ein ImageView von rechts nach links bewegt. Wenn sie außerhalb vom linken Rand verschwunden ist, wird sie mit View.GONE gelöscht.
Meine Frage ist jetzt:
Wie kann ich die Geschwindigkeit erhöhen, mit der sich das ImageView bewegt.
Ich habe es mit:
versucht, allerdings geht das nicht.
Alle Versuche scheiterten daran, dass
- die Box zu schnell zum linken Rand wandert
- die Box sich von der aktuellen Position in eine andere weiter links begibt
Wie kann ich das machen? Danke!