Sur Android 4.4.4, il semble que la seule façon que je pouvais arrêter un alpha de la décoloration de l'animation sur une Vue appelait View.animate().cancel()
(c'est à dire, en appelant .cancel()
sur le point de Vue de l' ViewPropertyAnimator
.
Voici le code que j'utilise pour la compatibilité avant et après ICS:
public void stopAnimation(View v) {
v.clearAnimation();
if (canCancelAnimation()) {
v.animate().cancel();
}
}
... de la méthode:
/**
* Returns true if the API level supports canceling existing animations via the
* ViewPropertyAnimator, and false if it does not
* @return true if the API level supports canceling existing animations via the
* ViewPropertyAnimator, and false if it does not
*/
public static boolean canCancelAnimation() {
return Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH;
}
Voici l'animation que je suis à l'arrêt:
v.setAlpha(0f);
v.setVisibility(View.VISIBLE);
// Animate the content view to 100% opacity, and clear any animation listener set on the view.
v.animate()
.alpha(1f)
.setDuration(animationDuration)
.setListener(null);