2011-06-07 20 views
13

Tratando de hacer lo siguiente:Cómo animar el cambio de texto en TextView?

animTimeChange = AnimationUtils.loadAnimation(this, android.R.anim.slide_in_left); 
itemTime.startAnimation(animTimeChange); 
itemTime.setText("new text"); 

pero la animación pasa a través de la pantalla en blanco (es decir, el texto original se elimina, a continuación, el nuevo texto aparece con la animación). ¿Cómo evitar esa pantalla en blanco?

(mi TextView es parte de ListView fila, he tratado de utilizar TextSwitcher - it doesn't work properly, por ViewFlipper - No estoy seguro de dónde poner Vistas allí, ya que esto es parte de la ListView)

Respuesta

15

TextSwitcher es exactamente lo usted debe estar usando para ello. Confirmar la API Demo for TextSwitcher.

la forma en que debe implementar esta está en su ListAdapter, proporcionar TextSwitcher vistas al ListView en lugar de TextViews. a continuación, puede simplemente llamar TextSwitcher.setText() en el elemento de la lista que desea cambio.

Tenga en cuenta que debe deshacerse inmediatamente de su referencia al elemento de la lista para evitar REALMENTE desordenar la vista de lista.

+0

gracias por su respuesta. ¿Has visto mi pregunta con el código de TextSwitcher? No funciona correctamente y no puedo entender por qué. –

+0

@LA_ lo hice. Agregué una respuesta que explica por qué sucede esto. – CodeFusionMobile

+0

¿Puedo usar TextSwitcher para animar cambios en el título de la barra de herramientas o hay una forma mejor? –

Cuestiones relacionadas