Utover det grunnleggende med Framer

Introduksjon

I min tidligere opplæring om Framer lærte du hvordan du bruker lag, stater og hendelser for å lage enkle oppsummeringer for iOS- og Android-appene dine. Framer har mye mer å tilby skjønt. I denne opplæringen skal jeg fokusere på noen mer avanserte funksjoner i rammen som lar deg legge til mer komplekse interaksjoner og effekter på dine mock-ups.

1. Nestende lag

Fordi et lag kan legges inn i et annet lag, kan du opprette komplekse laghierarkier med Framer. Et innebygd lag kalles et underlag, og laget som det er innebygd i kalles dets superlag. Følgende kodestykke viser deg hvordan du legger inn et lag i et annet lag ved hjelp av superLayer eiendom.

"javascript var layer1 = nytt lag (bredde: 200, høyde: 200);

var layer2 = nytt lag (bredde: 100, høyde: 100, superLayer: layer1 // gjør dette laget til et barn av lag1); "

Du kan gjøre bruk av laghierarkier for å simulere flere skjermer i mock-ups. La meg vise deg hvordan du gjør dette ved hjelp av et eksempel. Tenk på en mock-up som har to skjermer, en påloggingsskjerm og en velkomstskjerm.

Påloggingsskjermen inneholder inntastingsfelter for brukernavnet og passordet, og en innleveringsknapp. Velkomstskjermen inneholder et bilde og noen få linjer med tekst.

For å opprette en slik mock-up, kan du vurdere påloggings- og velkomstskjermer som superlayers og brukergrensesnittelementene de inneholder som underlag. La oss begynne med å lage superlayers først.

"javascript var loginScreen = nytt lag (bredde: Screen.width, height: Screen.height,);

var welcomeScreen = nytt lag (bredde: Screen.width, height: Screen.height,); "

Som du kan se, innlogging og welcomeScreen er tomme Lag gjenstander for nå. La oss legge til noen underlag til innlogging lag.

"javascript // CSS-stilene som skal brukes på lagene var style = paddingTop:" 25px ", farge:" # 999 ", bakgrunn:" #FFF ";

// Opprett brukernavn feltet var brukernavnField = nytt lag (bredde: 500, høyde: 100, y: 100, html: "Brukernavn", stil: stil, superLayer: loginScreen // barn på loginScreen); usernameField.centerX ();

// Opprett passordfeltet var passwordField = nytt lag (bredde: 500, høyde: 100, y: 220, html: "Passord", stil: stil, superLayer: loginScreen // barn på loginScreen); passwordField.centerX ();

// Opprett send-knappen var submitButton = nytt lag (bredde: Screen.width, høyde: 100, y: Screen.height - 100, html: "LOGIN", stil: paddingTop: "25px", farge: "# FFFFFF ", fontWeight:" bold ", backgroundColor:" # 2196F3 ", superLayer: loginScreen // barn på loginScreen);"

På samme måte, la oss legge til noen underlag til welcomeScreen lag.

"javascript // Lag et lag for å vise et profilbilde var profilePic = nytt lag (bredde: 400, høyde: 400, borderRadius: 200, bilde: 'profile.jpg', y: 100, superLayer: welcomeScreen // barn av welcomeScreen); profilePic.centerX ();

// Lag et lag for velkomstteksten var text = nytt lag (bredde: 400, høyde: 100, y: 600, html: "Velkommen Jenny", backgroundColor: "", stil: color: "#FFFFFF" , superLayer: welcomeScreen // velkomstskjermbildet); text.centerX ();"

På dette tidspunktet, hvis du prøver å vise prototypen din i en nettleser, vil det se litt rotete ut. Begge superlagene (innlogging og welcomeScreen) er synlige samtidig.

For å skjule et lag, setter du det synlig eiendom til falsk. Slik holder du welcomeScreen lag skjult når mock-up starter:

javascript welcomeScreen.visible = false;

For å endre visningen fra påloggingsskjermen til velkomstskjermen, kan du bare skjule innlogging lag og slå på synligheten til welcomeScreen lag. Følgende kodestykke viser deg hvordan du gjør det inne i klikk handler av submitButton:

javascript submitButton.on ("klikk", funksjon () loginScreen.visible = false; welcomeScreen.visible = true;);

Gå tilbake til nettleseren og oppdatere siden for å se din mock-up som er mer fornuftig nå. Husk at nettleseren du bruker for å vise mock-up, bør være WebKit-basert, for eksempel Chrome eller Safari.

Hvis du ikke liker øyeblikkelig bryter, kan du animere overgangen ved å bruke animere Funksjon å animere, for eksempel, opasitet av lagene.

"javascript submitButton.on (" klikk ", funksjon ()

welcomeScreen.opacity = 0; welcomeScreen.visible = true; // welcomeScreen er fortsatt usynlig // fordi dens opasitet er null loginScreen.animate (egenskaper: opacity: 0); welcomeScreen.animate (egenskaper: opacity: 1, time: 2 // Animasjonens varighet er 2 sekunder); );"

Slik ser overgangen nå ut:

2. Bruk av Layer Effects

Framer gir deg mulighet til å bruke en rekke bildeeffekter, for eksempel gaussisk uskarphet, nyanse rotasjon, lysstyrke / kontrastjustering, farge inversjon, sepia tone tillegg og mer til din Lag objekter.

Følgende kodestykke viser deg hvordan du bruker uklarhet effekt for å skape en sløret bakgrunn:

"javascript // Lag et bakgrunnslag var bg = ny BackgroundLayer (image:" bg.jpg ");

bg.blur = 5; // Sett Gaussisk uskarphet til 5 piksler "

Slik ser resultatet ut:

Resten av effektene brukes på en lignende måte. For eksempel, for å redusere kontrast av bg lag, må du endre kontrast eiendom:

javascript bg.contrast = 50;

3. Opprette Scrollable Layers

For å lage et lag som kan rulles, må du legge det inn i innholdslaget av a ScrollComponent gjenstand. Opprette en ScrollComponent ligner på å skape en Lag gjenstand:

javascript var scroll1 = ny ScrollComponent (bredde: Screen.width, height: Screen.height,);

Følgende kodeblokk viser deg hvordan du legger inn en Lag objekt innenfor innhold av scroll1:

javascript var layer3 = nytt lag (bredde: 2000, høyde: 2000, bilde: "pattern.jpg", superLayer: scroll1.content // Legge inne innholdet i scroll1);

Her er hva a ScrollComponent ser ut som i aksjon:

Merk at rulling bare er mulig hvis dimensjonene til laget er større enn dimensjonene til ScrollComponent den er innebygd i.

4. Viser paginert data

Noen ganger, i stedet for kontinuerlig rulling, vil du kanskje presentere dataene dine som et sett med sider. For eksempel vil du kanskje opprette et grensesnitt hvor en bruker sveiper gjennom et sett med bilder. Dette kan gjøres ved å bruke en PageComponent. De PageComponent klassen er avledet fra ScrollComponent klasse og har en identisk konstruktør.

For å legge til en Lag til en PageComponent, du må bruke addPage funksjon. Følgende kode viser hvordan du lager en PageComponent og legg til noen bildelag til det:

"javascript // Opprett en PageComponent som fyller skjermvaren sideComponent = ny PageComponent (bredde: Screen.width, height: Screen.height);

// Lag tre bilder lag var image1 = nytt lag (bredde: Screen.width, høyde: Screen.height, image: "pink.jpg");

var image2 = nytt lag (bredde: skjermbredde, høyde: skjerm.høyde, bilde: "grey.jpg");

var image3 = nytt lag (bredde: skjermbredde, høyde: skjerm.høyde, bilde: "blue.jpg");

// Legg alle bildelagene til sideKomponent sideComponent.addPage (image1); pageComponent.addPage (image2); pageComponent.addPage (image3);"

Resultatet ser slik ut:

5. Administrere animasjoner

Du vet allerede at du kan bruke animere funksjon for å animere egenskapene til a Lag gjenstand. Men ringer animere starter animasjonen umiddelbart. Hvis du vil ha kontroll over når en animasjon starter eller stopper, kan du bruke animasjon objekter i stedet.

Slik lager du en animasjon gjenstand:

"javascript var animation1 = ny animasjon (layer: mylayer, // navnet på laget som skal // være animert

// Egenskaper som skal endre egenskaper: x: 400); "

Du kan da bruke det intuitivt navngitte start, Stoppe, og omvendt Funksjoner for å administrere animasjonen. For eksempel, for å starte animasjonen påkalle start funksjon:

javascript animation1.start ();

Du kan også legge til hendelsesbehandlere til animasjon objekter, ved hjelp av funksjon. Denne funksjonen kan brukes til å lage kjedede animasjoner. For eksempel, her er en kodebit som reverserer animation1 når animasjonen avsluttes:

"javascript animation1.on (Events.AnimationEnd, function ()

// Opprett en omvendt kopi av animasjon1 og spill den animasjon1.reverse (). Start (); );"

Animasjonen ser slik ut:

6. Endre enhetretning

Alle eksemplene jeg viste deg til nå gjengitt den mobile enheten i stående orientering. Hvis du vil bruke liggende orientering, må du tildele verdien 90 til orientering eiendom av DeviceComponent.

javascript device.orientation = 90;

I nettleseren vil enheten nå se slik ut:

For å animere endringen i orientering, bruker du setOrientation metode, passerer inn ekte som sin andre parameter.

javascript device.setOrientation (90, true);

Konklusjon

I denne opplæringen lærte du hvordan du skal bruke Framers mer avanserte funksjoner, for eksempel nestede eller innebygde lag, lageffekter, rullebeholdere og animasjonshendelser. Med litt kreativitet og innsats kan du nå lage fantastiske prototyper ved hjelp av Framer-rammeverket. Her er noen flotte mock-ups for å inspirere deg.

Se Framers dokumentasjon for å lære mer om dette kraftige prototypingsrammeverket.