Tengo una biblioteca de dibujo, y con ella tengo una vista personalizada. Cuando se necesita realizar alguna actualización, la biblioteca llama al método invalidate()
de la vista. Y luego se llama al método onDraw()
, y todo funciona bien.View.invalidate() no parece llamar a View.onDraw()
Sin embargo, cuando agrego el atributo usesSdkVersion="14"
a mi AndroidManifest.xml file
, esto deja de funcionar. Ya no se llama más al método onDraw()
de mi vista.
MÁS INFORMACIÓN: Parece que cuando llamo a invalidate()
como resultado de presionar un botón en mi aplicación, la vista se actualiza como se esperaba. Además, hay una animación dentro de mi biblioteca que funciona correctamente. Entonces, aparentemente, a veces funciona correctamente. Pero la mayoría de las veces, no se vuelve a dibujar. ¿Hay algún estado en el que pueda estar una vista personalizada que haga que el sistema operativo omita volver a dibujarlo después de llamar al invalidate()
?
¿Aún lo llamas desde el hilo de la interfaz de usuario? de lo contrario, debe usar postInvalidate(). – Heinrisch
Intenté cambiar el invalidate por postInvalidar solo para verificarlo, y el problema aún existe. – Rickster
¿La aceleración de hardware está activada o desactivada? –