Necesito reemplazar frases de texto en a con imágenes y luego anexarlas a un TextView. Para los Dratables normales esto no es problema, pero cuando el Drawable es un Dibujo de Animación, no sé dónde ni cuándo llamar al .start();
.Cargue dinámicamente una AnimationDrawable en un TextView
Éste es cómo añadir texto a la Vista de Texto:
textview.append(Html.fromHtml(textWithHtmlImgTags, imagegetter, null));
Las etiquetas de imagen en los textWithHtmlImgTags se reemplacen con imagegetter:
new ImageGetter()
{
@Override
public Drawable getDrawable(String source) {
if(source.endsWith("_ani"))
{
Log.i("cmv", "This is an animated drawable.");
AnimationDrawable dra = (AnimationDrawable)res.getDrawable(sRes.get(source));
dra.setBounds(0, 0, dra.getIntrinsicWidth(), dra.getIntrinsicHeight());
dra.start(); // This doesn't work..
return dra;
}
Drawable dr = res.getDrawable(sRes.get(source));
dr.setBounds(0, 0, dr.getIntrinsicWidth(), dr.getIntrinsicHeight());
return dr;
}
};
se añaden Mis AnimationDrawables, pero no están animados (Están atrapados en el cuadro 1).
En la documentación que dice:
Es importante tener en cuenta que el método start() llamada en la AnimationDrawable no se puede llamar durante el método onCreate() de su actividad, ya que la AnimationDrawable todavía no está totalmente unido a la ventana. Si desea reproducir la animación de inmediato, sin necesidad de interacción, entonces puede llamar desde el método onWindowFocusChanged() en su actividad, que se llamará cuando Android enfoque su ventana.
Dado que las imágenes se agregan dinámicamente, no creo que tenga nada que ver con onCreate(). Supongo que llamo a mi .start()
cuando mi dibuja is not yet fully attached to the window
, pero dónde/cuándo/cómo debería ¿Lo llamo?
¡Gracias de antemano!
después de establecer la llamada drawbales 'textView.bringToFront()' y luego llamar a '.start()' para animar .. – MKJParekh