Creé una vista personalizada desde cero. Extendido View
y anulado onDraw()
. Cuando se reduce la animación de la vista, genero una animación personalizada utilizando compensaciones. por ej.¿Cómo puedo dibujar una vista animada en Android?
while(!isOnTop){
mOffset++;
//draw the component a a it higher using the offset
if(position == 0)
isOnTop==true;
invalidate();
}
La idea es que mis marcos vienen de invalidarlo. El problema es que la invalidación de esta vista puede venir simplemente desplazando una vista de lista en la misma pantalla.
Esta "invalidación compartida()" causa un retraso en mi animación. ¿Hay alguna manera de salir de ese retraso?
¿Tiene alguna otra sugerencia de realizar animaciones en ese entorno compartido? Crear una animación usando un hilo separado que calcula el desplazamiento también necesita llamadas de invalidación forzadas() para mostrar la animación (corríjame si estoy equivocado).
¿La única solución para realizar la animación es, por ejemplo, 10 solicitudes de invalidación con un paso más grande? Se aliviará el retraso, pero creo que puedo usar un enfoque diferente sobre eso.
Lo sentimos, esto es * camino * más complicado que a menudo necesaria, y una SurfaceView tiene muchos compromisos que lo hacen a menudo no es la mejor solución. – hackbod
Sí, pero es el mejor para tener múltiples vistas animadas juntas. la pregunta fue cuál es la "mejor" manera, aunque gracias por la respuesta – weakwire
Esta es la forma en que estoy familiarizado con j2me. Si no te gustan los cálculos, siempre puedes omitirlo y dormir por tiempo constante. –