Bu kodu özel görünümümün içinde çalıştırdığımda, onAnimationStart
ve onAnimationEnd
tekrar tekrar aranıyor. Bu garip değil mi? Bir Android programcısı olarak, bunların sırasıyla sadece bir kez çağrılmasını bekledim. onAnimationEnd
ViewPropertyAnimator
'ın setListener(null)
tarafından çağrılır zamanViewPropertyAnimator'ın dinleyicisi kaldırılamıyor
final ViewPropertyAnimator animator = animate().setDuration(1000).alpha(0.0f); animator.setListener(new AnimatorListenerAdapter() { @Override public void onAnimationStart(Animator animation) { Utils.log("----------------start"); } @Override public void onAnimationEnd(Animator animation) { Utils.log("--------- end"); } }).start();
Ama sonra dinleyicisi kaldırarak sorunu çözmeye çalıştı ama docs yazanlara rağmen hiç çalışmamış:
public ViewPropertyAnimator setListener (Animator.AnimatorListener listener)
Added in API level 12
Sets a listener for events in the underlying Animators that run the property animations.
Parameters
listener The listener to be called with AnimatorListener events. A value of null removes any existing listener.
Returns
This object, allowing calls to methods in this class to be chained.
Bu garip soruna giren başka biri var mı? belki bir Android'in hatası mı?
nerede animator.start()? – pskink
özel görünümümün içinde, btw, aslında onu aramak zorunda bile değildim, animasyon bir sonraki fırsatla başlatılacak (belki bir sonraki kare). Dokümanları – Leo
'un bir yerinde okudum "özel görünümümün içinde" neyin nesi var? hangi yöntem? – pskink