ho usato un'animazione Android in stile più convenzionale per questo:
ValueAnimator animator = new ValueAnimator();
animator.setObjectValues(0, count);
animator.addUpdateListener(new AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
view.setText(String.valueOf(animation.getAnimatedValue()));
}
});
animator.setEvaluator(new TypeEvaluator<Integer>() {
public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
return Math.round((endValue - startValue) * fraction);
}
});
animator.setDuration(1000);
animator.start();
Si può giocare con i valori 0
e count
per rendere il contatore andare da un qualsiasi numero a qualsiasi numero, e giocare con la 1000
per impostare la durata dell'intera animazione.
Nota che questo supporta l'API di Android di livello 11 e superiore, ma puoi usare il fantastico progetto nineoldandroids per renderlo facilmente compatibile con le versioni precedenti.
sostituire 'tv.setText (count);' con 'tv.setText (String.valueOf (count));' e il codice funziona bene –