Si bien a los componentes en Flex se les puede personalizar su apariencia desde el mismo programa, también puede pasar que justo nuestro diseño se salga demasiado de la línea gráfica que trae las opciones del programa. Para eso podemos generar nuestro propio diseño desde Photoshop, Flash, Fireworks, Illustrator o cualquier otro programa de diseño. En este caso veremos como importar los estados de un botón desde Photoshop a Flex.
Crear un proyecto en Flex
Comenzaremos creando nuestro proyecto en Flex. Primero creo mi carpeta hardSweetSkinning en donde se alojará mi proyecto.
Vamos a File > new > flex proyect y seguimos los pasos que se muestran en la imagen y luego damos finish y listo. Si vemos dentro de nuestra carpeta hardSweetSkinning veremos varios files OMG! solo entramos a la carpeta src y allí vemos el archivo hardSweetSkinning.mxml
Ya con nuestro file creado vemos que podemos trabajar en modo de diseño o de código.
Conociendo nuestro componente
Si queremos crear el diseño de un skin para algún componente, debemos saber cuántos estados presenta el mismo. ¿¿Cómo enterarnos??? Crearemos un archivo css. Vamos a File > new > css file y le damos un nombre cualquiera al archivo, en este caso como crearemos botones mi css se llamará botoncitos.css y estará dentro de la carpeta src.
Listo, ya tenemos nuestro CSS! Desde el modo de vista de diseño vamos al boton de New Style:
Y desde el cuadro de diálogo buscamos el componente button, teniendo seleccionada la opcion "specific component".
Y resulta que ya tenemos la info de todos los estados del componente button.
Creando nuestros botones desde Photoshop
Ya en Photoshop crearemos un botón de 200 * 65 px.
A ese mismo botón lo iremos duplicando la cantidad de veces correspondientes al número de estados que tendrá mi botón y los nombro de acuerdo al comportamiento que lleve cada uno:
Importando Nuestros botones a Flex
Ya de vuelta en Flex, vamos a File > import > skin artwork y nos saldra el siguiente cuadro de diálogo:
En "Import skins from" desde la opción de Folder of images, navegamos hasta indicar la carpeta en donde están alojados nuestros botones.
Luego establecemos que esos botones se copien en una subcarpeta llamada skinImages y que los estilos se creen en una hoja de estilos llamada skinImage.css y por último establecemos que esos estilos se apliquen al archivo .mxml en el cual estamos trabajando, en este caso seria el archivo hardSweetSkinning.mxml y damos next.
Tendremos una última pantalla en donde vemos los botones que creamos con sus estados.
Verificamos que estén todos seleccionados y asi terminamos con este paso.
Ahora vemos nuestro archivo .css con nuestros botones incrustados.
Si vamos a nuestro archivo hardSweetSkinning.mxml, vemos que automaticamente se agregó una línea de código indicando que se le aplicará el nuevo .css a ese proyecto:
Código :
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Style source="skinImages.css"/> </mx:Application>
Si insertamos un boton veremos que aparecerá con el skin que hemos creado, y de paso le damos un color verdecito al fondo en la 2da línea:
Código :
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" backgroundColor="0x86DFBB"> <mx:Style source="skinImages.css"/> <mx:Button x="100" y="100" label="Button"/> </mx:Application>
Nota: si cambiamos a la vista de diseño, desde el panel de componentes podemos también directamente arrastrar el componente button al escenario y listo, pero es bueno acostumbrarse a ver como se va armando el código.
y listo, ahora le damos al botón de run para ver como ha quedado nuestro skin:
y listo! ahora vemos un bonito botón luciendo sus lunares rosas
Para saber más sobre cómo comenzar con Flex te recomiendo el Tutorial de Flex Builder 2 de Zguishez.
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Por soy_lo_maximo el 17 de Diciembre de 2008
ya me tocara a mi
Por Zguillez el 17 de Diciembre de 2008
Buen tip por cierto, es básico poder personalizar al máximo las interfaces de nuestras aplicaciones Flex.
Por bubudrc el 17 de Diciembre de 2008
Por Raxiro el 17 de Diciembre de 2008
Por cierto muy bueno el tip!, odio cuando los desarrolladores de aplicaciones Flex no se esmeran en cambiarle el look y dejan todo por defecto.
Por Raxiro el 17 de Diciembre de 2008
Z no te quedes atras! tu próximo tip: Como programar acciones en Photoshop!
Por Bleend el 17 de Diciembre de 2008
Buen tip. Nunca usé flex para nada serio, pero eso de que siempre fueran iguales los botones era algo que me gustaba por su comodidad, pero que no era bueno de cara al diseño... Ahora se que se pueden cambiar
Por Zah el 17 de Diciembre de 2008
Por fredybg el 17 de Diciembre de 2008
Por Dano el 17 de Diciembre de 2008
Por violetisha el 17 de Diciembre de 2008
Me habían dicho que era fácil la personalización de los componentes de Flex, pero no taaan fácil.
Gracias por el tip Mx.
Por flashreloco el 17 de Diciembre de 2008
Por DiegoAzul el 17 de Diciembre de 2008
Gracias!.
Por master_of_puppetz el 17 de Diciembre de 2008
Por The Fricky! el 17 de Diciembre de 2008
Zguillez :
Me has quitado las palabras del teclado.
Felicitaciones Mx, muy buen tip. El Pink Power está invadiendo cada vez más aplicaciones.
Por XKlibur el 18 de Diciembre de 2008
Por Mariux el 18 de Diciembre de 2008
Por Marcelificus el 22 de Diciembre de 2008
saludos desde Chile D:
Por tomasdev el 11 de Enero de 2009
Se llama Flash Catalyst y está pronto a salir de Labs de Adobe... http://labs.adobe.com/technologies/flashcatalyst/
Por oscarlosan el 20 de Octubre de 2009
Entonces la forma utilizada en el tip se utilizara durante muchos años.
saludos.