Author Archive for marcio fermino
Desenvolvimento Android e IOS
DataGrid editável
<?xml version=”1.0″ encoding=”iso-8859-1″?>
<!–
Este exemplo mostra como tornar um DataGrid editável.
Observe que, quando alteramos o conteúdo das células
do DataGrid, o conteúdo do ArrayCollection também é
alterado. Para visualizar isso, basta efetuar
alterações nas células e depois pressionar Enter.
Automaticamente a alteração é visualizada no segundo
DataGrid. Veja que usamos [Bindable] para “atrelar”
o ArrayCollection aos DataGrids.
Obs. Se estiver navegando pelas células usando TAB, as
alterações nas células são enviadas ao ArrayCollection
somente quando houver mudança de linha.
–>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml”
creationComplete=”creationCompleteHandler(event)”>
<mx:Panel id=”painel” title=”Estudos” status=”Active”
height=”400″ width=”400″ paddingTop=”10″
paddingLeft=”10″ paddingRight=”10″
paddingBottom=”10″>
<mx:DataGrid id=”grid” editable=”true”>
<mx:columns>
<mx:DataGridColumn headerText=”Cidade”
dataField=”cidade”/>
<mx:DataGridColumn headerText=”Estado”
dataField=”estado”/>
<mx:DataGridColumn headerText=”População”
dataField=”populacao”/>
</mx:columns>
</mx:DataGrid>
<mx:DataGrid id=”grid2″>
<mx:columns>
<mx:DataGridColumn headerText=”Cidade”
dataField=”cidade”/>
<mx:DataGridColumn headerText=”Estado”
dataField=”estado”/>
<mx:DataGridColumn headerText=”População”
dataField=”populacao”/>
</mx:columns>
</mx:DataGrid>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
[Bindable]
public var cidades:ArrayCollection;
private function creationCompleteHandler(
event:Event):void{
var aCidades:Array = new Array(
{cidade: “Goiânia”,
estado: “GO”, populacao: 2564334},
{cidade: “Cuiabá”,
estado: “MT”, populacao: 598122},
{cidade: “Curitiba”,
estado: “PR”, populacao: 4876923});
cidades = new
ArrayCollection(aCidades);
grid.dataProvider = cidades;
grid2.dataProvider = cidades;
}
]]>
</mx:Script>
</mx:Application>
Rodar Flash no Flex
<?xml version=”1.0″?>
<!– embed\EmbedSWFSymbol.mxml –>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” >
<mx:VBox id=”vBox0″ width=”300″ height=”300″ >
<mx:Image id=”image0″
source=”@Embed(source=’circleSquare.swf’, symbol=’greenSquare’)”
/>
</mx:VBox>
</mx:Application>
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute”
creationComplete=”init();”>
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
public var fileRef:FileReferenceList;
[Bindable] public var array:Array;
private function init():void {
fileRef = new FileReferenceList();
fileRef.addEventListener(Event.SELECT, varre);
}
private function browseAndUpload():void {
fileRef.browse();
}
public function varre(evt:Event):void{
array = fileRef.fileList;
var files:Array = fileRef.fileList;
for (var i:Number=0; i<array.length; i++){
var file:FileReference = FileReference(files[i]);
try {
array.addItem({name:file.name})
} catch (err:Error) {
}
}
}
]]>
</mx:Script>
<mx:Button label=”Selecione o Arquivo”
click=” browseAndUpload();” x=”194″ y=”155″/>
<mx:DataGrid x=”194″ y=”190″ dataProvider=”{array}”>
<mx:columns>
<mx:DataGridColumn headerText=”Arquivos Selecionados” dataField=”name” width=”100″/>
</mx:columns>
</mx:DataGrid>
</mx:Application>
Abrir PDF
<?xml version=”1.0″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” backgroundGradientAlphas=”[1.0, 1.0]” backgroundGradientColors=”[#E9CACA, #FFFFFF]”>
<mx:Script><![CDATA[
import flash.net.*;
public function executeSearch(event:MouseEvent):void {
//var u:URLRequest = new URLRequest(“http://www.google.com/search?hl=en&q=” + ta1.text);
var u:URLRequest = new URLRequest(t1.text);
navigateToURL(u,“_blank”);
}
]]></mx:Script>
<mx:TitleWindow width=”250″ height=”200″ layout=”absolute”>
<mx:Button label=”Abrir Arquivo” click=”executeSearch(event)” x=”63.5″ y=”96″/>
<mx:TextInput x=”35″ y=”52″ id=”t1″/>
</mx:TitleWindow>
</mx:Application>
Trabalhar com ItemRender
<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” creationComplete=”doInit()”>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
[Bindable] private var myData:ArrayCollection = new ArrayCollection();
private function doInit():void{
myData.addItem({fname:“Joe”,lname:“Bloggs”});
myData.addItem({fname:“Joe1”,lname:“Bloggs”});
}
public function exibir(): void {
Alert.show(“TESTE”);
}
public function exibir2(): void {
Alert.show(“TESTE 22222222222”);
}
]]>
</mx:Script>
<mx:DataGrid x=”150″ y=”96″ dataProvider=”{myData}”>
<mx:columns>
<mx:DataGridColumn headerText=”Column 1″ dataField=”col1″ >
<mx:itemRenderer>
<mx:Component>
<mx:HBox width=”100%” height=”100%” verticalAlign=”middle” horizontalAlign=”center” >
<mx:Image buttonMode=”true” source=”imagem/excluir.png” useHandCursor=”true” click=”outerDocument.exibir()”/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
<mx:DataGridColumn headerText=”Column 2″ dataField=”col2″>
<mx:itemRenderer>
<mx:Component>
<mx:HBox width=”100%” height=”100%” verticalAlign=”middle” horizontalAlign=”center” >
<mx:Image buttonMode=”true” source=”imagem/excluir.png” useHandCursor=”true” click=”outerDocument.exibir2()”/>
</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
</mx:Application>
Diminuir tamanho de aplicacao
Fazendo um teste, consegui reduzir o swf de 392Kb para 82Kb. Para isto basta ir nas propriedades do projeto -> Flex Build Path -> Library Path. Em Flex 3, abra a árvore e selecione “framework.swc”. No combo box Framework linkage troque de “Merged into code” para “Runtime shared library (RSL)”. Clique em OK, e compile novamente. Veja a diferença do tamanho.
Outra dica é fazer um “release” do projeto antes de colocar em produção. Clique no menu Project -> Export Release build. Basta escolher a pasta que o projeto será exportado. O mesmo arquivo de 82Kb diminuiu para 57Kb. A diferença neste caso é que as opções de debug não vão junto, diminuindo ainda mais o tamanho do swf.
Variáveis globais Flex
Variáveis Globais no Flex.
Olá.
Neste post vou mostrar como fazer com que uma (ou várias) variável seja utilizada e compartilhe o mesmo valor em toda a aplicação.
Para isto basta criar uma classe, com o método getInstance() e chamar esta classe em qualquer lugar do sistema através do getInstance(), e pronto você terá a mesma variável com o mesmo valor.
Classe de exemplo:
VariaveisGlobais.as
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package com.blogspot.desenvolvendoemflex.utils {
|
CACHE
O que geralmente faço, é no arquivo AC_OETags.js trocar a função:
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, “.swf”, “movie”, “clsid:d27cdb6e-ae6d-11cf-96b8-444553540000”
, “application/x-shockwave-flash”
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_FL_RunContent(){ var ret = AC_GetArgs ( arguments, “.swf”, “movie”, “clsid:d27cdb6e-ae6d-11cf-96b8-444553540000” , “application/x-shockwave-flash” ); AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); }
por:
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, “.swf?avoidCache=” + new Date(), “movie”, “clsid:d27cdb6e-ae6d-11cf-96b8-444553540000”
, “application/x-shockwave-flash”
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_FL_RunContent(){ var ret = AC_GetArgs ( arguments, “.swf?avoidCache=” + new Date(), “movie”, “clsid:d27cdb6e-ae6d-11cf-96b8-444553540000” , “application/x-shockwave-flash” ); AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs); }