Mam animację tłumaczenia z obrazu zlocation1 to location2. Jednak w dowolnym momencie animacji, jeśli użytkownik kliknie przycisk, chcę zastosować inną animację tłumaczenia z miejsca, w którym obraz znajduje się w lokalizacji3 (nawet jeśli animacja nie została zakończona). W jaki sposób mogę to zrobić?
Dzięki
TranslateAnimation translate = new TranslateAnimation(0, mDestLoc[0]-mSrcLoc[0], 0, mDestLoc[1]-mSrcLoc[1]);
translate.setFillAfter(true);
translate.setDuration(getDuration());
ball.startAnimation(translate);
void onbuttonClicked(){
// stop previous animation and translate image to location 3 "From where it stopped"
}
Odpowiedzi:
0 dla odpowiedzi № 1dlaczego nie używasz ObjectAnimators?
Możesz stworzyć animatora dla określonego celu (lub uzyskać widok pierwszy animować() jeśli używasz wersji 12 równej poziomowi API), a następnie przetłumaczyć, zmienić rozmiar, zaniknąć ... Twój obiekt.
Jeśli z jakiegoś szczególnego powodu pierwsza animacja zostanie anulowana, możesz zadzwonić Anuluj a następnie widok będzie utrzymywał aktualny status. Następnie, jeśli utworzysz innego animatora na podstawie bieżących wartości, powinieneś być w stanie łatwo wykonać kolejną animację.