Este tip es una continuación a tip escrito por Mx sobre como personalizar botones (y componentes en general) de Flex:
En ese tip, Mx mostraba como podemos utilizar gráficos de Photoshop para sustituir los gráficos estándar del componente. Ella mostró la forma de hacerlo desde los menús de Flex Builder y el resultado de ese proceso es la generación de un archivo CSS como, por ejemplo, este:
Código :
Button { upSkin: Embed("img/ico1.png"); overSkin: Embed("img/ico2.png"); downSkin: Embed("img/ico3.png"); disableSkin: Embed("img/ico4.png"); }
Con esto cambiaremos el aspecto de TODOS los componentes botón de nuestra aplicación. Pero.. ¿que pasa si queremos cambiar el aspecto de un botón en concreto? por ejemplo para un botón de "Play" o de "Stop" en un reproductor de vídeo.
Para hacer eso, podemos asignar otro "estilo" a ese botón en concreto a través de actionscritp.
Para ello abriremos un tag <mx:Script> y ahí incrustaremos los gráficos dentro de variables tipo Class, y asignaremos el nuevo estilo al botón a través de setStyle().
Código :
<mx:Script> <![CDATA[ [Embed("img/ico2_1.png")] private var ico1:Class; [Embed("img/ico2_2.png")] private var ico2:Class; [Embed("img/ico2_3.png")] private var ico3:Class; [Embed("img/ico2_4.png")] private var ico4:Class; private function ini():void { boton1.setStyle("upSkin", ico1); boton1.setStyle("overSkin", ico2); boton1.setStyle("downSkin", ico3); boton1.setStyle("disableSkin", ico4); } ]]> </mx:Script>
De esta manera, todos los componentes botón tendrán el estilo definido desde el archivo CSS menos nuestro botón "boton1" que tendrá el estilo definido en el actionscript.
¿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 fredybg el 18 de Diciembre de 2008
buen tip!
Por Mariux el 18 de Diciembre de 2008
gracias zguishez!
Por XKlibur el 18 de Diciembre de 2008
Tengo que sacar tiempo para probar esto
Por M@U el 18 de Diciembre de 2008
Por Carloz el 18 de Diciembre de 2008
Por bubudrc el 20 de Diciembre de 2008
Por titabruni el 28 de Junio de 2010
he intentado hacer esto en Flash Builder, con el flex 4, pero no funciona.
Llevo varios días buscando en la web, pero no hay forma de dar con la solución.
Lo que quiero hacer es, personalizar los botones con mis propias imágenes, es decir; si tengo un boton: "Carpeta nueva", que en lugar del botón, me aparezca un icono de una carpeta amarilla.
¿Me podéis echar una mano o pasarme algún enlace dónde venga explicado?
Muchas gracias a todos.
Un saludo, Elisabeth Barroso.
Por ExPsycHo el 07 de Julio de 2010
Gracias.