2017-03-23 1 views
0

Cela semble uniquement se produire sur les périphériques Samsung (testés sur S7 et Tab S2).Sur les périphériques Samsung, Ripple et Reveal échouent si l'animation imageView est en cours de lecture

Problème Si une animation est en cours de lecture, toutes les ondulations de dialogue et révélez affects retard de croissance, arrêter à mi-chemin, ou ne jouent pas du tout.

Par exemple, cette animation imageview a été commencé:

RotateAnimation anim = new RotateAnimation(0.0f, 360.0f, Animation.RELATIVE_TO_SELF, 0.48f, Animation.RELATIVE_TO_SELF, 0.5f); 
anim.setInterpolator(new LinearInterpolator()); 
anim.setRepeatCount(Animation.INFINITE); 
anim.setDuration(2000); 

ivStatus.startAnimation(anim); 

Alors je touche un bouton dans une boîte de dialogue ou démarrer une animation révéler. L'animation gèle soit à des points aléatoires ou bégaie horriblement. Dans mon code, certaines fenêtres sont des boîtes de dialogue, ce qui empêche l'utilisateur de faire quoi que ce soit lorsque la boîte de dialogue se termine à mi-chemin.

Éditer: Cela se produit également lors de l'utilisation d'un progressView tel que com.github.rahatarmanahmed.cpv.CircularProgressView, qui anime.

Comment cela peut-il être évité/réparé? Cela fonctionne parfaitement bien sur les appareils non Samsung.

exemple de projet à: https://github.com/behelit/SamsungAnimationFailSample

L'image ci-dessous a une ondulation gelée, sans contact se produit à ce stade Ripple death

Répondre

0

Ma solution a été de faire une pause toutes les animations OnPause et reprendre dans onResume.