Aula 1.2 - Criando uma aplicação com o Flex (User Interface)

Nessa aula aprenderemos a criar uma aplicação simples para requisição de uso de veículos de uma empresa fictícia.



Aula 1.2 - Criando uma aplicação com o Flex (User Interface)

Requisitos

Exercício 1.1 - O espaço de trabalho padrão e manipulação de arquivos no Flash Builder 4.

Software necessário:

Flash Builder 4 (Download trial)

Arquivo de exemplo dessa aula:

Exercício 1.2: ex1_02_inicial.zip - Criando uma aplicação UI

 

Introdução

Nessa aula aprenderemos a criar uma aplicação simples para requisição de uso de veículos de uma empresa fictícia (veja Figura 1).

Figura 1: Preview da aplicação.

O objetivo dessa seção é de apresentar a forma como trabalhamos com os diversos componentes do Flex 4 e como os dispomos no painel de design para criar aplicativos.

Nessa aula você aprenderá:

  • I. Adicionar e configurar controles no modo de Design.
  • II. Compilar e rodar uma aplicação.
  • III. Criar um componente CSS customizado.
  • IV. Adicionar um vídeo na aplicação.
  • V. Adicionar tema na aplicação
  • VI. Mudar o tema dos componentes através do Theme Browser

 

I. Adicionando e configurando controles no modo de Design

Nessa seção vamos usar o Flash Builder 4 no modo de design para construir nossa aplicação.

 

1. Baixe o arquivo ex1_02_inicial.zip e descompacte-o em seu computador.

2. Abra o Flash Builder e importe o arquivo ex1_02_inicial.fxp.

3. No Package Explorer abra o arquivo ex1_02_inicial.mxml.

4. Mude para o modo de Design.

5. No painel de Componentes, arraste um controle Label e solte-o na esquerda superior da área de design (veja Figura 2).

Figura 2: Adicionando um controle Label na aplicação.

 

6. No painel de propriedades, localize a propriedade Text e digite "Formulário de Requisição de Veículos".

Nota: O painel de propriedades é mostrada do lado direito da interface de criação do Flash Builder (veja Figura 3).

7. No painel de propriedades usando a seção "Text" mude a cor da fonte para laranja, tamanho da fonte para 18 e clique no botão com a letra T do lado esquerdo para aplicar negrito (veja Figura 3).

Figura 3: Editando o controle Label e aplicando valor à propriedade text.

 

8. Ainda no painel de propriedades, use o segmento Size e Position para configurar a propriedade x com valor de 80 e a propriedade y com valor de 34 (veja Figura 4).

Figura 4: Configurando a posição do controle Label.

 

9. Dentro do painel "Components" na parte de Layout, arraste um container "Form" e solte-o abaixo do controle Label, use a linha-guia azul para alinhá-lo verticalmente (veja Figura 5).

 

10. A caixa de diálogo Insert Form aparece. Clique em OK para manter os valores padrão (veja Figura 6).

Figura 6: Mantendo valores padrão para o container Form.

 

11. No painel Components na agora na seção Controls, arraste um controle DropDownList e solte-o dentro do container Form (Figura 7). Novamente atente para a linha-guia para certificar-se de que o controle está sendo colocado dentro do formulário.

Figura 7: Colocando um controle DropDownList dentro do container Form.

 

12. Clique no Label que é criado na frente do controle DropDownList para selecionar o container FormItem que é criado aninhado neste controle.

13. Usando o painel de Propriedades, localize a propreidade Label do container FormItem e digite "Empregados:".

14. No painel Components arraste um controle FormHeading e coloque-o dentro do container Form, abaixo do controle DropDownList (veja Figura 8).

Figura 8: Adicionando controle FormHeading ao container Form.

 

15. Usando o painel de propriedades, localize a propriedade Label do controle FormHeading e digite "Informações Pessoais".

16. No painel Components, na seção Controls, arraste um controle TextInput e coloque-o dentro do container Form, abaixo do controle FormHeading (Figura 9).

 

Figura 9: Adicionando controle TextInput no container Form.

 

17. Clique no Label criado junto ao controle TextInput para selecionar o controle FormItem aninhado nesse controle.

18. Usando o painel de Propriedades, localize a propriedade Label e atribua o valor de "Telefone fixo:".

19. Arraste outro controle TextInput e solte-o abaixo do primeiro que você acabou de criar.

20. Para a propriedade Label desse segundo controle TextInput atribua o valor de "Telefone celular:".

21. No painel Components na seção Layout arraste outro controle FormHeading e coloque-o de do container Form abaixo do último controle TextInput (veja Figura 10).

 

Figura 10: Adicionando controle FormHeading ao container Form.

 

22. Usando o painel de propriedades atribua a propriedade Label desse controle o valor de "Datas Requisitadas"

23. No painel Components na seção controls, arraste um controle DateChooser e solte-o abaixo do controle FormHeading (Figura 11).

Figura 11: Adicionando controle DateChooser à aplicação.

 

24. Clique no Label criado junto do controle DateChooser para selecionar o container FormItem que está aninhado nesse controle.

25.Usando o painel de propriedades atribua à propriedade Label o valor de "Data de retirada do veículo".

26. Arraste outro controle DateChooser e coloque-o abaixo do anterior.

27. Clique no Label criado junto do controle DateChooser para selecionar o container FormItem que está aninhado nesse controle.

28. Usando o painel de propriedades atribua à propriedade Label o valor de "Data de entrega do veículo".

Por último vamos adicionar um botão ao formulário, mas ele será adicionado através de código.

29. Mude para o modo Source.

30. No fim do código dentro do bloco Form e abaixo do último container FormItem crie um novo bloco de container FormItem.

 
...
<mx:FormItem label="Data de entrega do veículo:">
<mx:DateChooser/>
</mx:FormItem>
<mx:FormItem>
</mx:FormItem>
</mx:Form>

 

31. Dentro do bloco FormItem recém criado crie um controle "botão" com a propriedade Label com valor de "Enviar Requisição".

 
<mx:FormItem>
<s:Button label="Enviar Requisição"/>
</mx:FormItem>

32. Salve o arquivo.

II. Compilando e rodando a aplicação.

Nesta seção vamos executar a aplicação e vê-la no browser.

1. Execute a aplicação clicando no botão Run (veja Figura 12).

Figura 12: Clicando no botão Run para testar a aplicação.

Você deve ver a aplicação como mostrada na Figura 13.

 

Figura 13: Rodando a aplicação.

 

III. Criando estilo CSS personalizado.

Nesta seção você usará o modo de design do Flash Builder para criar um estilo personalizado para um controle Label.

1. Retorne ao Flash Builder.

2. No modo de design, selecione o controle Label com o valor "Formulário de Requisição de Veículos".

3. No painel de propriedades, clique no botão "Convert to CSS" (veja Figura 14).

Figura 14: Clicando no botão Convert to CSS.

 

4. Na caixa de diálogo New Style Rule, clique no botão "New".

5. Na caixa de diálogo New CSS, para o File name, digite Styles (veja Figura 15).

Figura 15: Digitando Styles para o nome do arquivo CSS.

 

6. Clique no botão Finish.

7. Na caixa de diálogo New Style Rule faça o seguinte (Figura 16).

7.1 Para Selector type selecione o radio button "All components with style name".

7.2 Para o campo Name digite addHeader

Figura 16: Criando novo estilo CSS chamado addHeader.

 

8. Clique em OK.

Você verá o arquivo Styles.css aberto no Flash Builder (veja Figura 17). Você verá também o arquivo Style.css no painel Package Explorer.

Figura 17: Vendo o arquivo Styles.css com definição do estilo addHeader.

 

9. Volte para o arquivo ex1_02_inicial.mxml.

10. No painel de propriedades repare que o controle Label agora tem uma propriedade Style de addHeader (veja Figura 18). Esse estilo está disponível para todos os controles de texto.

 

Figura 18: O estilo addHeader pode ser aplicado a qualquer controle de texto.

 

11. Salve o arquivo.

 

IV. Adicionando vídeo na aplicação.

Nesta seção você usará o componente de vídeo para adicionar vídeo à aplicação.

1. Retorne ao arquivo ex1_02_inicial.mxml no Flash Builder.

2. No painel Components na seção de controles, arraste um controle chamado "VideoDisplay" e solte-o a direita do container de Form, use a linha azul para alinhá-lo no centro (veja Figura 19).

Figura 19: Adicionando controle VideoDisplay na aplicação.

 

3. Abra (caso ainda não esteja) o painel de propriedades.

4. Configure o valor da propriedade Source para: "http://www.aprendofacil.com.br/curso/flex/arquivos/aula01/ex1_02_video.flv"

5. Configure a propriedade width (largura) com valor de 325 e height (altura) com valor de 267 (veja Figura 20).

 

Figura 20: Configurando valores das propriedades source, width e height.

 

6. Salve o arquivo e orde a aplicação.

Você deverá ver o vídeo próximo do calendário de data de retirada do veículo (Figura 21). Repare que o controle VideoDisplay não tem controles de playback.

 

Figura 21: Rodando a aplicação e vendo o vídeo.

 

7. Retorne ao Flash Builder.

8. Delete o controle VideoDisplay.

9. Repita os passos 2-6 dessa seção agora usando o controle VideoPlayer.

10. Salve e rode a aplicação.

O controle VideoPlayer apresenta botões de controle (veja Figura 22).

 

Figura 22: Usando controle VideoPlayer - repare que agora existe controles no vídeo.

 

V. Adicionando tema na aplicação.

Nesta seção você aplicará um tema personalizado usando a propriedade skinClass dentro da tag Application. Em seguida você modificará esse tema.

1. No painel Package Explorer expanda a pasta skins para ter acesso ao arquivo AppSkin.mxml (veja Figura 23).

Figura 23: Encontrando o arquivo AppSkin.mxml.

 

2. Abra o arquivo AppSkin.mxml e troque para o modo Source para ver o código desse arquivo.

O arquivo AppSkin.mxml baseia-se na classe SparkSkin e consiste em dois estados (normal e disabled) e um bloco de metadados. Você vai aprender mais sobre os estados (states) mais a frente.

O método HostComponent() localizado dentro do bloco de metadados é um "contrato" entre o tema e a classe spark.components.Application. Isto permite acesso da classe AppSkin.mxml as propriedades públicas da classe Application e permite o arquivo ser usado como um tema para a aplicação. O bloco Rect desenha o fundo da aplicação, neste caso configurando uma cor cinza. O container Group com a propriedade id de contentGroup representa todo o conteúdo dentro do container da aplicação.

3. No arquivo ex1_02_inicial.mxml, certifique-se de estar em modo Source (código) e adicione a propriedade skinClass dentro da tag Application atribuindo valor de skins.AppSkin, veja abaixo como deve ficar o código:

 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600"
skinClass="skins.AppSkin" >

Nota: se você estiver usando a ferramenta de assistente de conteúdo para adicionar a propriedade skinClass, você verá que foi gerado um bloco de Script com declaração import. Eles não são necessários e podem ser deletados da aplicação.

4. Salve o arquivo e rode a aplicação.

Repare que a aplicação adquire um tema com um fundo cinza e centralizado na tela (veja Figura 24).

 

Figura 24: Visualizando a aplicação com o tema modificado.

 

5. Retorne ao Flash Builder.

6. Abra AppSkin.mxml.

Observe a propriedade id com valor de "contentGroup" dentro da tag "Group" no fim do arquivo AppSkin.mxml veja a definição de layout e posicionamento.

 
<s:Group id="contentGroup"
top="20"
horizontalCenter="0">
<s:layout>
<s:BasicLayout/>
</s:layout>
</s:Group>

Repare também a tag "Rect" e suas propriedades com valores de posicionamento, largura, altura e definição de cores de preenchimento.

 
<s:Rect horizontalCenter="0"
width="850" height="100%" >
<s:fill>
<s:SolidColor color="#CCCCCC" />
</s:fill>
<s:stroke>
<s:SolidColorStroke color="#AAAAAA" />
</s:stroke>
</s:Rect>

7. Dentro da tag Rect, adicione a propriedade radiusX com valor de 10.

 
<s:Rect horizontalCenter="0"
width="850" height="100%" radiusX="10">
...

8. Dentro do bloco "fill", mude o valor da propriedade SolidColor para:

 
<s:fill>
<s:SolidColor color="#CEDBEF" />
</s:fill>

 

9. salve o arquivo e rode a aplicação.

A cor do fundo da aplicação assume uma cor azul e os cantos ficam arredondados (veja Figura 25).

 

Figura 25: Mudando a propriedade fill e radiusX.

 

VI. Mudando o tema dos componentes através do Theme Browser.

Por padrão, os componentes Flex usam temas spark ou MX. Nesta seção você vai usar o Theme Browser do Flash Builder para alterar o tema do aplicativo para um tema  diferente.

1. Retorne ao arquivo ex1_02_inicial.mxml no Flash Builder e mude para Design Mode.

2. Abra a tab Appearance e clique no link localizado próximo ao campo Current theme (veja Figura 26).

 

Figura 26: Clique no link Current theme.

 

3. Na caixa de diálogo Select project theme, expanda o Adobe Themes - Spark e selecione Wireframe (veja a Figura 27).

Figura 27: Selecione Wireframe.

 

4. Clique em OK.

5. Rode a aplicação.

Os controles da aplicação agora estão usando estilos do tema Wireframe (veja a Figura 28).

 

Figura 28: Rodando a aplicação e vendo o tema Wireframe aplicado.

 

Conhecimentos adquiridos

Neste tutorial você aprendeu como criar uma aplicação Flex e navegar no Flash Builder4.

Agora já sabemos como responder, por exemplo as perguntas abaixo:

P.1. Em qual modo devemos usar o Flash Builder para arrastar e soltar um controle dentro de uma aplicação?

R.1. No modo de Design.

P.2. Qual é o painel usado para abrir o Flash Builder Theme Browser?

R.2. O painel Appearance.

P.3. Quais controles podem ser usados para mostrar vídeos em uma aplicação Flex?

R.3. Os controles VideoDisplay e VideoPlayer.

 

  • Written by: Toni Pereira
  • Terça, 09 Novembro 2010

Comments (0)

Leave a comment

You are commenting as guest.

Cancelar Submitting comment...