Customizing Skins and Styles in Flex 3 Applications
Discover the principles of skinning in Flex 3 with Gabriela Trindade Perry. This guide details the process of applying customized themes and styles to components such as buttons and scrollbars. Learn how to programmatically skin various elements, define a unique style, and troubleshoot common issues that arise with component styling conflicts. With practical examples and guidance on using the "assets.fla" file, this resource empowers developers to enhance the visual appearance of their applications while ensuring seamless functionality.
Customizing Skins and Styles in Flex 3 Applications
E N D
Presentation Transcript
Skinning Flex 3 Gabriela Trindade Perry
Definitions Skinning Themes “Nativos” ou de terceiros Personalizados • Imagens, swf e classes • CSS (estilos personalizados) • Programaticamente
Skinning a Button and a ScrollBar Simple Skinning
Skinning com imagens usa resulta
Skinning com MC do flash Salvo no projeto
Skinning a DataGrid The assets.fla file
Using the “assets.fla” file Como mexer no cursorStretch?
Defining a custom style and styling the ScrollBar CSS Skinning
Custom style usa
Skinning ScrollBar O único trabalho é criar todas as imagens e aplicar no ScrollBar. Para esses casos, as propriedades scaleGrid são muito importantes.
Skinning ScrollBars programmatic Skinning
Programmatic skin • The ProgrammaticSkin class implements the IFlexDisplayObject, ILayoutManagerClient, IInvalidating, and ISimpleStyleClient interfaces, so it is the easiest and most common superclass to use. • The Border class extends the ProgrammaticSkin class and adds support for the borderMetrics property. Use this class or the RectangularBorder class if your skin defines the component's border. • The RectangularBorder class extends the Border class and adds support for the backgroundImage style. • The UIComponent class implements the IStateCleint interface, making it easy to use for stateful skins. It is also the component that you use when implementing skins in MXML.
Exemplo • Vamos usar PS para fazer o fundo dos Buttons usarem uma imagem. • A imagem deve ficar tiled no fundo. • Vamos ver que isso vai trazer conflito com outros componentes que usam Buttons, como o CB. • E vamos ver duas formas de resolver isso.
Skinning a Button (again) Extende PanelSKin Aplica no CSS
Skinning a Button: problema • Se usarmos um componente que também usa Button, como o CB, ele irá usar a definição do estilo de Button.
Solução I • Cria um estilo • Aplica no Button ?
Solução II • Define uma classe para upSkin do ComboBox ?
Solução III • Define um estilo para o Button e usa dentro da skin ?
Skinning Panel Como quero colocar a imagem no chrome, precisa olhar PanelSkin
Skinning Panel Usa uma extensão de PS, e cria uma classe para a ser colocada no chrome. Extensão de PN Canvas com Image
Skinning NumericStepper And an example
Skinning NS? Como mudar a aparência do botão do NumericStepper? Método da força bruta (o único que conheço...)
Skinning NS: source • Quem são os botões?
Skinning NS: source 2. Quais os estilos que eles usam?
Precisa isso? Felizmente não :0) Os docs estão bem organizados, e dá pra saber como fazer estas modificações começando por lá. Vamos ver como...
Skinning NS? • Existe algum estilo pronto? O que ele recebe?
Skinning NS: source 2. Onde isso está definido?
Skinning NS: source 3. Como o link entre a classe e o componente é feito?
Skinning NS: source 4. Extende a classe e muda o estilo
Skinning NS: source 5. Muda o CSS
Using Flex3´s themes + Creating your own theme USING themes
Using Flex 3´s Themes Escolhe o tema Passa para o compilador
Creating your own themes • Cria um New Library Project • Passa para o compilador os arquivos e classes a serem incluídos -include-file assets/css/default.css "F:/Documents and Settings/gabi/Desktop/skinning/src/assets/css/default.css" -include-file assets/images/scrollDownArrow2.jpg "F:/Documents and Settings/gabi/Desktop/skinning/src/assets/images/scrollDownArrow2.jpg" -include-file assets/images/scrollThumb.png "F:/Documents and Settings/gabi/Desktop/skinning/src/assets/images/scrollThumb.png" -include-file assets/images/scrollTrack2.jpg "F:/Documents and Settings/gabi/Desktop/skinning/src/assets/images/scrollTrack2.jpg" -include-file assets/images/scrollUpArrow2.jpg "F:/Documents and Settings/gabi/Desktop/skinning/src/assets/images/scrollUpArrow2.jpg" -include-classes assets.skins.BGSkin assets.skins.BTSkin assets.skins.NSButtonSkin assets.skins.PNSkin assets.skins.StrawbSkin