Você está na página 1de 6

Home

Contato

Parceiros

Flex Links

Search

Adobe AIR 101 Como posicionar a tela do meu App no sistema operacional?
AIR 2.7, AIR 3.0, Adobe AIR 101 outubro 21st, 2011 Hoje inicio uma srie de posts sobre Adobe AIR, eu venho prometendo isso faz sculos, mesmo depois de ter colocado d o i s cursos de Adobe AIR on-line, sempre faltava aquele tempinho extra. Nada melhor como uma tima sexta-feira ensolarada de Sampa para comear essa srie. O que 101 sries? Basicamente so 101 receitas de como voc faz isso ou aquilo, seja em qualquer tecnologia. O post inaugural da srie seria, como posicionar a janela do meu App no sistema operacional?

Procurando: Consultoria, Treinamento e Desenvolvimento Flex/AIR


www.riacycle.com

0
tweets

tweet

Cursos on-line
Curso Flex Mobile Curso AIR Mobile

muito simples a soluo. Como explicar essa facilidade? Quando voc cria uma nova App no Flash Builder para a plataforma AIR, voc geralmente usa o componente WindowedApplication, o WindowedApplication a Raiz do App, voc pode at trocar mais basicamente cada nova Janela Window ou Windowed que voc adiciona no AIR, ele acaba indo para o systemManager, onde voc pode administrar facilmente. Cada classe Window fica armazenda no momento em que ela criada, sendo assim o systemManager recebe elas e o NativeApplication, onde SystemManager gerenciado pelo run-time AIR, ai s fazer a continha bsica da herana que voc chegar ao resultado.
<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="555" height="381"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ import spark.components.Window; protected function changeWindowPosition(event:MouseEvent):void { if(_x.text != '' && _y.text != ''){ nativeApplication.activeWindow.x = Number(_x.text); nativeApplication.activeWindow.y = Number(_y.text); } } ]]> </fx:Script> <s:Button x="62" y="134" width="137" height="31" label="Mover" click="changeWindowPosition(event)"/> <s:Form x="32" y="15"> <s:FormItem label="x"> <s:TextInput id="_x"/> </s:FormItem> <s:FormItem label="y"> <s:TextInput id="_y"/> </s:FormItem> </s:Form> </s:WindowedApplication>

Curso AIR 2.0 Essencial Curso Flex 4 Essencial Curso Flex 4 Profissional Curso Design Patterns para projetos Flex 4 Curso Flex 4 + Zend Framework

Curso Flex 4 para desenvolvedor Java

Curso Android Nativo on-line

Baixe e aprenda Flex


O Tour de Flex um aplicativo que roda em AIR, voc precisa instalar o AIR em sua mquina antes de usa-lo. Existe mais de com qualquer coisa

Veja o cdigo acima, como eu sei que a Janela Atual o Prprio App, ento eu no preciso instanciar ela, j que ela est visvel, basta eu usar a propriedade nativeApplication e janela ativa (activeWindow) e eu consigo chegar onde eu quero para move-la de posio. Outro exemplo bem legal que se pode fazer o uso de efeitos, veja o mesmo cdigo abaixo, s que agora com efeitos.

200 exemplos de como usar Flex

<?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="555" height="381" xmlns:interfaces="com.riacycle.interfaces.*" <fx:Declarations> <interfaces:JanelaInterpolator id="interpola"/> <s:Sequence id="mover" target="{this}" duration="1000"> <s:Fade duration="300"/> <s:Animate> <s:SimpleMotionPath property="tamanho" valueTo="{rect}" interpolator </s:Animate>

Downloads recomendados

Livros Indicados

</s:Sequence> </fx:Declarations> <fx:Script> <![CDATA[ private var rect:Rectangle = new Rectangle(); public function get tamanho():Rectangle { return nativeWindow.bounds; } public function set tamanho(value:Rectangle):void { nativeWindow.bounds = value; } protected function changeWindowPosition(event:MouseEvent):void { rect.width = nativeWindow.width; rect.height = nativeWindow.height; rect.x = Number(_x.text); rect.y = Number(_y.text); mover.play(); } ]]> </fx:Script> <s:Button x="62" y="134" width="137" height="31" label="Mover" click="changeWindowPosition(event)"/> <s:Form x="32" y="15"> <s:FormItem label="x"> <s:TextInput id="_x"/> </s:FormItem> <s:FormItem label="y"> <s:TextInput id="_y"/> </s:FormItem> </s:Form> 3 4

Documentao

Categorias
Categorias AbsolutoBrasil (RSS) (5) Actionscript (RSS) (34) Actionscript 3.0 Server-side (RSS) (1) Actionscript Frameworks (RSS) (20) Adobe AIR 101 (RSS) (1) Adobe CS3.0 (RSS) (8) Adobe MAX 2010 (RSS) (3) AIR 1.0 (RSS) (12) AIR 1.1 (RSS) (3) AIR 1.5 (RSS) (3) AIR 2.0 (RSS) (12) AIR 2.7 (RSS) (6) AIR 3.0 (RSS) (2) AIR Mobile (RSS) (25) (6)

Alternativa ao Flex Builder (RSS AMFPHP (RSS) (4) Android (RSS) (13) Apollo (RSS) (3) AS 2.0 (RSS) (7) AS 3.0 (RSS) (73) Blackberry (RSS) (5) BlazeDS (RSS) (4) Captivate (RSS) (10)

Explicando o cdigo: Veja bem, quando voc usa efeitos na prpria janela onde voc est chamando a ao, basicamente ela vai dar estouro de pilha e no funciona, justamente por que o intervalo de tempo entre a chamada e a execuo acaba sendo no mesmo momento, nem que voc tenha que chamar por callLater, o que na prtica nunca vai funcionar. Foi ai que acabei criando o interpolador para facilitar, a execuo do efeito, pegando valores anteriores do nativeWindow e aplicando os novos valores do Rect que o efeito ir aplicar. Aqui est o cdigo do Interpolador.

package com.riacycle.interfaces Cocomo SDK (RSS) (1) { ColdFusion (RSS) (3) import flash.geom.Rectangle; ColdFusion 8 (RSS) (1) import spark.effects.interpolation.IInterpolator; Comunidade (RSS) (9) Cursos (RSS) (12) public class JanelaInterpolator implements IInterpolator { Design Patterns (RSS) (5) public function JanelaInterpolator() Dev. Software (RSS) (17) { } Dicas (RSS) (83) Dicas e truques (RSS) (7) /** * Eventos (RSS) (49) * Funciona assim: Fireworks CS3 (RSS) (1) * Flash (RSS) (38) *Voccomeacomovalorx=200ey=200 *EsomaafraoemDeltaquesofremudanasrepetidasentreovalorfinaleovalorinicial. Flash 8 (RSS) (2) * Flash Builder (RSS) (9) *Basicamenteseumobjetocomeanaposiox=200ey=200 *Evocquermudarparax=300ey=300 Flash Builder 4.5 (RSS) (4) * *Vocfazainterpolaodoefeitosomandoovalorinicial+frao(valorFinal- valor Inicial) Flash Catalyst (RSS) (5) * Flash Componentes (RSS) (4) *Issodumincrementoaposioinicialdoobjeto. Flash CS 3 (RSS) (10) * Flash CS4 (RSS) (5) *Afraoavelocidadecomqueessasmudanasocorrem,vocpodeincrementarelasouno. * */ Flash Lite (RSS) (13) public function interpolate(fraction:Number, startValue:Object, endValue:Object):Object Flash Media Server (RSS) (1) { return new Rectangle(startValue.x + fraction * (endValue.x - startValue.x), Flash MX 2004 (RSS) (1) startValue.y + fraction * (endValue.y - startValue.y), Flash Player (RSS) (24) startValue.width + fraction * (endValue.width - startValue.width), startValue.height + fraction * (endValue.height - startValue.height)); Flash Player 11 (RSS) (2) } Flex (RSS) (341) Flex 4.6 (RSS) (1) public function increment(baseValue:Object, incrementValue:Object):Object

{ return new Rectangle(baseValue.x + incrementValue.x,baseValue.y + incrementValue.y, baseValue.width + incrementValue.width,baseValue.height + incrementValue.height } public function decrement(baseValue:Object, decrementValue:Object):Object { return new Rectangle(baseValue.x - decrementValue.x, baseValue.y - decrementValue.y, baseValue.width - decrementValue.width, baseValue.height - decrementValue.height); } } 3 4

FlexUnit (RSS) (1) Flex 2 Charts (RSS) (3) Flex 2 e Java 5 (RSS) (10) Flex 2 Open-source (RSS) (14) Flex 3 (RSS) (58) Flex 3 Charts (RSS) (9) Flex 3 Designers (RSS) (1) Flex 3 Documentao (RSS) (3) Flex 3 how to (RSS) (7) Flex 3 Open-Source (RSS) (16) Flex 3 para Flex 4 (RSS) (11)

Outro problema que voc tem que criar um retangulo para re-posicionar a tela que voc est fazendo as mudanas, uma vez que voc cria essas propores a prpria nativeWindow ou nativeApplication sempre que muda de posio alterado os valores, ento o mais correto pegar os bounds, rea da janela atual e corrigir isso atravs de uma propriedade prpria sua, retardando o processo. J que as mudanas sofridas pelo nativeWindow so imediatas, devido no ter o immediatePropagation(); Impedindo que elas ocorram, voc tem que recorrer ao fato do Rect para se salvar desse pequeno problema. Esse efeito acaba valendo tambm para modificar o tamanho da janela em si, assim como redimencionar o tamanho de acordo com o contedo.

Flex 3 SDK (RSS) (18) Flex 4 (RSS) (42) Flex 4.5 (RSS) (12) Flex Blogs Brasil (RSS) (6) Flex Builder 3 (RSS) (9) Flex Builder 4 (RSS) (12) Flex Certificao (RSS) (3) Flex Componentes (RSS) (18) Flex e .net (RSS) (4)

Compartilhar com:

Flex e Faculdades (RSS) (1) Flex e Java (RSS) (10) Flex e Python (RSS) (1)

Artigos relacionados
l l l l l l l l l l

Flex Grupos de Usurio (RSS) (2 Flex Hacks (RSS) (2)

Iphone acessando o site Como posicionar o Alert nos valores x e y que eu queira? Obrigado Dennis Ritchie Oportunidade para Senior de Flash em sistema de Home Office Flyer lanado pela i2Tecnologia Criando seu primeiro aplicativo Flex 4.5 Mobile para smartphones Android parte (1 de 3) Flex Mania 2011 anunciado, eu vou e voc? Ns temos f no sistema Flex e AIR para dispositivos mveis brigando contra o bixo papo Criando seu primeiro aplicativo Flex 4.5 Mobile para smartphones Android parte (2 de 3)

Flex Mania (RSS) (4)

Flex Mobile Framework (RSS) (2 Flex MVC (RSS) (2) Flex para Gerentes (RSS) (4) Flex para Linux (RSS) (3) Flex que no flex (RSS) (1) Flex-Brasil Pergunta (RSS) (1) FMS (RSS) (2) frameworks (RSS) (10) Google (RSS) (5)

Deixe um recado
Name (required) Mail (will not be published) (required) Website 5

Granite Data Services (RSS) (3) HTML 5 (RSS) (7) HTML5 / CSS3 (RSS) (2) ILOG Elixir (RSS) (2) interar (RSS) (1) iPad (RSS) (3) Iphone (RSS) (3) Java (RSS) (8) JQuery (RSS) (8) JQuery Mobile (RSS) (1) JustJava (RSS) (3)
6

Labs (RSS) (24) Live Cycle (RSS) (4) Livros (RSS) (3) MAX 2008 SF (RSS) (6) Microsoft (RSS) (6) Negcios (RSS) (33) Notcias (RSS) (270) Open-source (RSS) (39) (28) OSFLash (RSS) (5) papervision3D (RSS) (1) Pessoal (RSS) (64) PHP (RSS) (1) Playbook (RSS) (5) RIA (RSS) (20) RIA com Ajax (RSS) (2)

Submit Comment

Oportunidades de emprego (RS

Ruby On Rails (RSS) (2)

Sexta-Flex Talkshow (RSS) (14) SilverLight (RSS) (3) Slider Framework (RSS) (2) Symbian (RSS) (3) Tablets (RSS) (4) Tomcat (RSS) (2) Tweener (RSS) (1) Uncategorized (RSS) (2) Vdeo (RSS) (7) Web 2.0 (RSS) (16)

Arquivos
novembro 2011 outubro 2011 setembro 2011 agosto 2011 julho 2011 junho 2011 maio 2011 abril 2011 maro 2011 fevereiro 2011 janeiro 2011 novembro 2010 outubro 2010 setembro 2010 agosto 2010 julho 2010 maio 2010 abril 2010 maro 2010 fevereiro 2010 janeiro 2010 dezembro 2009 novembro 2009 outubro 2009 setembro 2009 agosto 2009 julho 2009 junho 2009 maio 2009 abril 2009 maro 2009 fevereiro 2009 janeiro 2009 dezembro 2008 novembro 2008 outubro 2008 setembro 2008 agosto 2008 julho 2008 junho 2008 maio 2008 abril 2008 maro 2008 fevereiro 2008

janeiro 2008 dezembro 2007 novembro 2007 outubro 2007 setembro 2007 agosto 2007 julho 2007 junho 2007 maio 2007 abril 2007 maro 2007 fevereiro 2007 janeiro 2007 dezembro 2006 novembro 2006 outubro 2006 setembro 2006 agosto 2006 julho 2006

Links
Captivate Brasil Flex Brasil Luciano Ayres Silke Fleischer Marcelo Gallina Felipe Andrade Thiago Medeiros Gregui Shigunov Taliba Martins Joey Lott Robert Rehihardt Cleiton Coradelli The People World

Tecnologias interessantes

Technorati
View blog authority

Artigos recentes
Criando tags do HTML 5 nos navegadores IE 9
11-28-2011

Comentrios feitos
Lucas Ferreira: Boa Igor! Lembrando que tambm existe o html5shim uma so... Alexandre de Carli: Parabns pela matria Igor! Eu mesmo estava cada vez ma... Alison Rodrigues de Souza: Parabns pelo post Igor... Se at hoje existe o cobol e a... Octacilio V. Nazar: Parabns pelo artigo, vc foi muito esclarecedor sobre o apr... Alex Miranda: Otimo post parabns ..bem esclarecedor Fico feliz por sabe...

Ferramentas
Valid XHTML WordPress RSS dos Artigos RSS dos comentrios

10 mitos da incompatibilidade nos navegadores para HTML/CSS/JS


11-25-2011

jQuery Mobile 1.0 lanado


11-17-2011

Onde est o futuro do Flex?


11-16-2011

Slides da palestra Blackberry University Tour


11-10-2011

Perfeitamente hospedado na Porta80, por muito anos.Copyright Igor Costa. All rights reserved.

Você também pode gostar