Resurse Flex
Daca porniti de la 0, acest site poate sa va ofere niste lectii destul de ok (si gratuite pe deasupra).
Site-ul face parte din reteaua O’Reilly, asa ca eu cred ca stiu despre ce vorbesc. Deocamdata au doar 10 lectii, dar sunt convins ca o sa mai apara.
Daca nu va descurcati foarte bine cu limba engleza, si doriti traducerea vreunuia din articole, astept comment-uri.
Arhitectura Cairngorm
Intr-una din zilele in care ma dadeam pe net cautand ceva (nici eu nu stiam ce la momentul respectiv) am gasit probabil unul din cele mai complete tutoriale despre Cairngorm pe care le-am vazut vreodata. Cu siguranta, daca l-as fi citit acum ceva vreme, cand am fost nevoit sa lucrez cu respectiva arhitectura, n-as fi urat-o atat de mult, si poate as fi si inteles-o mai bine. Ca sa nu rapesc din gloria autorului, nu o sa traduc aici tutorialul (compus din 5 episoade) ci o sa va dau direct linkurile catre el:
Primul episod - Episodul 2 - Episodul 3 - Episodul 4 - Episodul 5
Browser Manager
O noua imbunatatire a SDK-ului este BrowserManager-ul. De data aceasta nu mai avem de-a face cu o componenta vizuala ci cu una pur functionala. Aceasta ne ofera o cale mult mai usoara de a interactiona cu fereastra de browser in care se afla aplicatia. Evident, este o componenta pentru aplicatiile din interiorul browser-ului, si nu pentru aplicatiile desktop (AIR).
In tutorialul pe care l-am pregatit va prezint 2 operatiuni facute cu ajutorul acestei noi componente: schimbarea numelui ferestrei in functie de actiunile utilizatorului, si schimbarea adresei URL cu posibilitatea de a accesa diverse sectiuni ale aplicatiei direct prin intermediul URL-ului (deeplinking). Citeste in continuare…
DataGrid cu paginare
Exemplul urmator arata cum se poate simula paginarea pentru un DataGrid. Am folosit 2 obiecte ArrayCollection, primul (fxDataGridDataProvider) ce retine intregul data provider, iar cel de-al doilea (pageDataProvider), in care se incarca doar itemii ce trebuie afisati pe o anumita pagina. Citeste in continuare…
Manipularea valorilor returnate de o functie JavaScript
Comunicarea dintre ActionScript si JavaScript nu implica doar simple apeluri de functii, ci si transmiterea de parametrii sau returnari ale valorilor. Folosind clasa ExternalInterface, se poate transmite catre JS si o lista de parametrii
ExternalInterface.call(“functieJS”,parametru1,parametru2,…);
De asemenea, metoda statica call(..) intoarce raspunsul venit de la container. Acesta poate fi “null” sau valoarea returnata de functia apelata. Va fi intors “null” atunci cand functia apelata nu exista in container, interfata nu este valida sau atunci cand apare o problema de securitate.
var obj:Object = ExternalInterface.call(“notVoidMethod”);
Apel JavaScript din AS
Clasa ExternalInterface este un API extern care permite comunicarea intre ActionScript si containerul FlashPlayer-ului. Folosirea ExternalInterface este recomandata pentru comunicarea JavaScript-ActionScript.
Aceasta functionalitate este o inlocuire a metodei mai vechi fscommand().
Presupunand ca avem urmatorul script inclus in acelasi container cu swf-ul nostru, nu ne trebuie decat o line de cod pentru a apela metoda JavaScript : ExternalInterface.call(”helloJavaScript”); Citeste in continuare…
Stiluri dintr-un fisier CSS extern
Flex permite incarcarea stilurilor din fisiere .css externe. Aceste fisiere nu trebuie confundate cu ceea ce stim deja despre clasicele fisiere .css aplicate pentru HTML. O anumita formatare trebuie respectata.
Presupunem ca avem un fisier stiluri.css, in care am implementat doua clase ce schimba aspectul unui control Panel – numin clasele stilPanouLuminos si stilPanouInchis. O clasa css se poate atribui unui control care suporta stiluri astfel:
<mx:Panel id=”myPanel” styleName=”stilPanouLuminos” … />
Pentru a putea face acest lucru, in primul rand trebuie sa ne asiguram ca fisierul css va fi compilat in swf - pentru ca FlashPlayer nu poate citi valori direct din css, compilatorul va crea un fisier swf in care va crea unele simboluri avand caracteristicile descrise in css. Pentru asta, trebuie sa ne asiguram ca avem optiunea “Compile CSS to SWF” bifata (click dreapta pe fisierul css inclus in proiect, apoi click pe “Compile CSS to SWF”). Citeste in continuare…
Custom itemRenderer pentru List
Un lucru care imi place foarte mult la Flex, este acela ca ofera posibilitatea customizarii aroape in totalitate a controalelor din SDK. Aproape orice design si functionalitate al unei liste, tabel sau arbore, poate fi reprodus nu cu mare dificultate in Flex, suprascriind sau customizand controale ca List, DataGrid, AdvancedDataGrid sau Tree.
Am creat o lista pentru care am customizat aspectul implicit al unui item, in incercarea de a arata un exemplu simplu, care insa poate fi extins pentru a cunoaste funtionalitatea dorita. Petru asta, am creat o componenta mxml (HBox), care serveste drept itemRenderer pentru un control List. In aceasta componenta, am adaugat un buton (X) prin care se pot sterge itemi din lista.
Un item renderer customizat pentru o lista, se seteaza foarte simplu, atribuind calea catre o componenta customizata argumentului itemRenderer. Citeste in continuare…
AdvancedDataGrid tutorial
Vorbeam in articolul Ce-i nou in Flex 3 - episodul 2 despre un nou control, AdvancedDataGrid. Dupa cum ii spune si numele, este un DataGrid care ofera multe din functionalitatile pe care pana acum trebuia sa stam sa le implementam singuri. Am pregatit un mic tutorial care sa va ajute sa prindeti curaj in a experimenta cu aceasta noua componenta. Citeste in continuare…
Ce-i nou in Flex 3 - episodul doi
Continuam seria modificarilor din Flex 3. Voi pune accentul acum pe lucruri mai interesante, cum ar fi CSS, skinuri, modificari aduse SDK-ului si altele. Sa incepem deci cu
Design view pentru CSS
Design view-ul ofera acum o modalitate mai usoara de a lucra cu CSS. Orice modificare adusa unei componente vizuale (fereastra Flex Properties -> Style) poate fi exportata folosind butonul “Convert to CSS…”. Citeste in continuare…

