Chcę zbudować animację TextViews, która powtarza się tuż po zakończeniu.Jak wygenerować zapętlanie animacji za pomocą ViewPropertyAnimator?
dla każdego widoku chcę, aby animować, używam następujący kawałek kodu
final float oldX = v.getX();
final float newX = v.getX() - (float)totalWidth;
final AnimatorListenerAdapter listener = new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
v.setX(oldX);
animFinished = true;
//This line won't compile
//v.animate().setDuration(animDuration).setInterpolator(newsInterpolator)
// .setListener(listener).x(newX);
}
};
v.animate().setDuration(animDuration).setInterpolator(newsInterpolator)
.setListener(listener).x(newX);
próbowałem umieścić ostatni kawałek kodu do onAnimationEnd, ale Java nie skompilować, ponieważ uważa, że obiekt detektor nie został zainicjowany. Co więcej, nie sądzę, aby ta "rekurencyjna" inwokacja była dobrym rozwiązaniem, to była pierwsza rzecz, która przyszła mi do głowy. Podejrzewam, że istnieje prosty i dobry sposób na zaimplementowanie animacji właściwości pętli, ale nie udało mi się jej zlokalizować, dlatego zwróciłem się o pomoc.
Z góry dzięki
Można użyć 'CycleInterpolator'. Zobacz moją odpowiedź [tutaj] (http://stackoverflow.com/a/40385244/2093236). – Dmide
Myślę, że "to" byłoby tym, co używać zamiast słuchacza, ale tak, to prawdopodobnie trzymałoby się pamięci i wycieku, jeśli to się stało. W każdym razie zdaję sobie sprawę, że to już prawie 4 lata. –