mocelet
04/04/13, 16:36:07
Supongamos que tengo una app que pinta toda su interfaz en el método onDraw y cuyo contenido es muy alto (vamos a poner 9000 pixeles) y es necesario scroll. El contenido se genera dinámicamente, no es un mapa de bits (no cabría en memoria gráfica), solo llamadas al canvas con textos, formas y alguna imagen pequeña ya cargada.
En Android, si hago una View personalizada que en el onMeasure devuelva su altura "virtual", es decir los 9000 pixeles y en el Canvas del onDraw pinto sin preocuparme de la parte que se está mostrando, ¿si eso lo meto en un ScrollView funcionará bien, verdad? Es decir, aunque en el canvas pinte fuera del área visible eso no se estará almacenando en ningún sitio y supongo que además los eventos los recibiré en las coordenadas virtuales por así decirlo, ¿no?
Ahora un offtopic, como sé que algunos también programáis en iOS... ¿esto mismo lo podría hacer con el UIView y el UIScrollView, verdad? Todavía voy por el hola mundo, pero para estar seguro de que tampoco tendría problemas por tener una vista con un tamaño "virtual" muy grande. He leído que el drawRect tiene grandes problemas de rendimiento con el scroll incluso estando vacío el método... ¿no es viable entonces hacer una vista muy alta dibujando en el canvas/context)?
¡Gracias!
En Android, si hago una View personalizada que en el onMeasure devuelva su altura "virtual", es decir los 9000 pixeles y en el Canvas del onDraw pinto sin preocuparme de la parte que se está mostrando, ¿si eso lo meto en un ScrollView funcionará bien, verdad? Es decir, aunque en el canvas pinte fuera del área visible eso no se estará almacenando en ningún sitio y supongo que además los eventos los recibiré en las coordenadas virtuales por así decirlo, ¿no?
Ahora un offtopic, como sé que algunos también programáis en iOS... ¿esto mismo lo podría hacer con el UIView y el UIScrollView, verdad? Todavía voy por el hola mundo, pero para estar seguro de que tampoco tendría problemas por tener una vista con un tamaño "virtual" muy grande. He leído que el drawRect tiene grandes problemas de rendimiento con el scroll incluso estando vacío el método... ¿no es viable entonces hacer una vista muy alta dibujando en el canvas/context)?
¡Gracias!