Mobile ItemRenderer en ActionScript (Parte 1)
Recientemente un viejo conocido de la comunidad Flex hispana (Nahuel Foronda) ha publicado una serie de interesantes posts sobre Optimización de Flex para Móviles que iremos posteando traducidos al español, previa autorización
Si estás comenzando a hacer desarrollo móvil y estás acostumbrado a crear todos los ItemRenderers en MXML, habrás notado que pequeños dispositivos como teléfonos y tabletas no tienen un desempeño tan bueno como en escritorio y necesitarás buscar diferentes maneras de optimizar tu aplicación.
Una de las formas de optimizar tu aplicación móvil es crear tus ItemRenderers con ActionScript. Narciso Jaramillo escribió un buen artículo para Devnet con buenos tips para el desarrollo móvil y uno de los puntos es precisamente eso, mantener tus ItemRenderers en puro ActionScript.
Narciso menciona que el Framework de Flex viene con dos ItemRenderers uno es LabelItemRenderer que extiende a UIComponent y el otro es IconItemRenderer que extiende a LabelItemRenderer. Esas clases son buenas, pero a veces tenemos un diferente caso de uso que necesita una serie diferente de clases. así que en los ejemplos, no utilizaré esos rendereres. En su lugar, extenderemos directamente desde UIComponent o desde SpriteVisualElement para tener inclusive una clase más ligera que UIComponent.
Para el propósito de este tutorial, estoy planeando una serie de entradas explicando las bases y pasar a renderers con mayor dificultad.
Ejemplo Básico
Comencemos con el renderer más simple, un TextField que muestre algún texto. Para hacerlo sencillo, extenderemos desde UIComponent e implementaremos la interfaz IDataRenderer requerida por List.
Pero antes de hablar sobre el renderer, hablemos de otros elementos.
Application
Necesitas crear un proyecto tipo Mobile. En este ejemplo, usaré el más simple de los contenedores raíz, ese es un Application, no las subclases TabbedApplication o ViewBasedApplication. Agregaremos un List que se expanda al 100% como único elemento.
Estilos
Agregué una hoja de estilos externa donde tenemos todos los estilos para el ItemRenderer:
ItemRenderer
Tenemos una clase simple que extiende a UIComponet que nos da algunos métodos útiles y la habilidad de participar en el framework de CSS.
Estos 3 métodos de UIComponent que utilizaremos son los siguientes:
measure donde nosotros leemos el tamaño mínimo del renderer desde la hoja de estilos. Esto se vuelve útil porque dispositivos con diferentes resoluciones dpi necesitan diferentes medidas.
createChildren donde nosotros creamos el TextField, establecemos los estilos y si hay datos disponibles, configuramos el texto en el TextField a ser mostrado.
updateDisplayList donde posicionamos los elementos y dibujamos cada línea separadora para cada ItemRenderer.
Adicionalmente a estos métodos, tenemos la propiedad data, que es la implementación de la iterfaz IDataRenderer. Esa interfaz es el contrato con List y es la forma en la que los datos son empujados hacia el ItemRenderer. Si el TextField existe al momento de configurar los datos, entonces configuramos el texto dentro del TextField, de otra manera, lo guardamos para después.
Como pueden ver escribir un ItemRenderer en ActionScript no es tan difícil como suena.
Estoy planeando mostrar otros ejemplos en el futuro con múltiples elementos, fondos, estados, manipulación de texto, columnas múltiples y más.
El código fuente esta disponible para descargar.
Nota: Este artículo está traducido en MadeInFlex con autorización previa del autor, si quieren consultar la fuente original aquí tienen el enlace.
Acerca de esta entrada
Usted está leyendo “Mobile ItemRenderer en ActionScript (Parte 1),” una entrada de MadeInFlex
- Autor: Edgar Parada
Edgar es un Adobe Certified Instructor de México. Colaborador de diversos centros autorizados por Adobe e instructor activo de la DGSCA en la UNAM.
- URL del Autor:
- http://activ.wordpress.com/
- Publicada:
- 18.05.11 / 11pm
- Categorías:
- Flex 4, Tutoriales
- Entradas relacionadas:
- AIR 2.7 para mobile disponible
- Novedades en Flash Player 11 y AIR 3
- Flex Hero Mobile (IV): List, Scroller, Mobile Splash Screen y Mobile View Menu
- MAX San Francisco. Here we go!!
- Número de visitas:
- 3726
Sin comentarios
Ir al formulario de comentarios | rss (comentarios) [?] | trackback url [?]