Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Animación simple de Android TextView

Tengo un TextView que me gustaría contar (3 … 2 … 1 … cosas suceden).

Para que sea un poco más interesante, quiero que cada dígito empiece con toda la opacidad y se desvanezca hacia la transparencia.

¿Hay una manera simple de hacer esto?

3 Solutions collect form web for “Animación simple de Android TextView”

Intente algo como esto:

private void countDown(final TextView tv, final count) { if (count == 0) { tv.setText(""); //Note: the TextView will be visible again here. return; } tv.setText(count); AlphaAnimation animation = new AlphaAnimation(1.0f, 0.0f); animation.setDuration(1000); animation.setAnimationListener(new AnimationListener() { public void onAnimationEnd(Animation anim) { countDown(tv, count - 1); } ... //implement the other two methods }); tv.startAnimation(animation); } 

Acabo de escribirlo, por lo que no puede compilar como es.

He utilizado una animación de estilo Android más convencional para esto:

  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(); 

Puede jugar con el 0 y count valores para hacer que el contador pase de cualquier número a cualquier número, y jugar con el 1000 para establecer la duración de toda la animación.

Tenga en cuenta que esto es compatible con la API de Android de nivel 11 y superior, pero puede utilizar el impresionante proyecto nineoldandroids para que sea compatible con versiones anteriores fácilmente.

Echa un vistazo a CountDownAnimation .

Primero probé la solución @dmon, pero como cada animación comienza al final de la anterior, terminas teniendo un retraso después de varias llamadas.

Por lo tanto, implementé CountDownAnimation clase que utiliza un Handler y la función postDelayed . De forma predeterminada, utiliza la animación alfa, pero puede establecer cualquier animación. Puede descargar el proyecto aquí .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.