Deli z drugimi prek


Ustvarjanje odzivnih postavitev v aplikacijah s platnom

Preden ustvarite aplikacijo s platnom v storitvi Power Apps, določite, ali želite aplikacijo prilagoditi za telefon ali tablični računalnik. Ta izbira določa velikost in obliko delovnega območja, v katerem ustvarite aplikacijo.

Ko se odločite, lahko izbirate še naprej, če greste v Nastavitve > Prikaz. Izberete lahko pokončno ali ležečo usmeritev in velikost zaslona (samo tablični računalnik). Prav tako lahko odklenete ali zaklenete razmerje višina/širina in podprete vrtenje naprave (ali ne).

Te izbire so osnova za vse druge izbire, ki jih izvedete, ko oblikujete postavitve zaslonov. Če se vaša aplikacija izvaja na napravi drugačne velikosti ali v spletu, se celotna postavitev prilagodi zaslonu, na katerem se aplikacija izvaja. Če se na primer aplikacija, zasnovana za telefon, izvaja na večjem oknu brskalnika, se aplikacija prilagodi, da to izravna, in je videti prevelika za prostor. Aplikacija ne more izkoristiti dodatnih slikovnih pik, tako da bi prikazala več kontrolnikov ali več vsebine.

Če ustvarite odzivno postavite, se lahko kontrolniki odzovejo na različne naprave ali velikosti okna, da različne izkušnje postanejo naravnejše. Za doseganje odzivne postavitve prilagodite nekatere nastavitve in napišete izraze po aplikaciji.

Onemogočanje nastavitve »Prilagodi na«

Vsak zaslon lahko konfigurirate, tako da se njegova postavitev prilagodi dejanskemu prostoru, v katerem se aplikacija izvaja.

Odzivnost aktivirate tako, da za aplikacijo izklopite nastavitev Prilagodi na, ki je privzeto vklopljena. Ko izklopite to nastavitev, izklopite tudi Zakleni razmerje višina/širina, ker več ne oblikujete za določeno obliko zaslona. (Še vedno lahko določite, ali vaša aplikacija podpira vrtenje naprave.)

Onemogočanje nastavitve »Prilagodi na«.

Da bi bila aplikacija odzivna, morate izvesti dodatne korake, toda ta sprememba je prvi korak k omogočanju odzivnosti.

Razumevanje dimenzij aplikacije in zaslona

Da bi se postavitve aplikacije odzivale na spremembe v dimenzijah zaslona, boste napisali formule, ki uporabljajo lastnosti Width in Height zaslona. Za prikaz teh lastnosti, odprite aplikacijo v storitvi Power Apps Studio, nato pa izberite zaslon. Privzete formule za te lastnosti so prikazane na zavihku Napredno podokna na desni strani.

Širina = Max(App.Width, App.DesignWidth)

Višina = Max(App.Height, App.DesignHeight)

Te formule se nanašajo na lastnosti Width, Height, DesignWidth in DesignHeight aplikacije. Lastnosti Width in Height aplikacije ustrezajo dimenzijam naprave ali okna brskalnika, v katerem se aplikacija izvaja. Če uporabnik spremeni velikost okna brskalnika (ali zavrti napravo, če ste izklopili Zaklep usmeritve), se vrednosti teh lastnosti dinamično spremenijo. Formule na lastnostih Width in Height zaslona so ponovno ovrednotene, ko se ti vrednosti spremenita.

Lastnosti DesignWidth in DesignHeight izvirata iz dimenzij, ki ste jih določili v podoknu Prikaz razdelka Nastavitve. Če na primer izberete postavitev telefona v pokončni usmeritvi, je DesignWidth 640 in DesignHeight 1136.

Ker se uporabljata v formulah za lastnosti Width in Height, lahko na lastnosti DesignWidth in DesignHeight gledate kot na minimalni dimenziji, za kateri boste oblikovali aplikacijo. Če je dejansko območje, na voljo za aplikacijo, celo manjše od teh minimalnih dimenzij, formuli za lastnosti Width in Height zaslona zagotavljata, da njuni vrednosti ne bosta postali manjši od minimalnih. V tem primer se mora uporabnik pomikati, da si lahko ogleda vso vsebino zaslona.

Ko določite DesignWidth in DesignHeight svoje aplikacije, vam ne bo treba (v večini primerov) spreminjati privzetih formul za lastnosti Width in Height vsakega zaslona. Pozneje bomo v tej temi obravnavali primere, v katerih bi morda želeli prilagoditi te formule.

Uporaba formul za dinamično postavitev

Da ustvarite odzivno zasnovo, poiščite in spremenite velikost vsakega kontrolnika z uporabo formul namesto absolutnih (konstantnih) koordinatnih vrednosti. Te formule izražajo položaj in velikost vsakega kontrolnika v smislu celotne velikosti zaslona ali glede na druge kontrolnike na zaslonu.

Pomembno

Potem ko zapišete formule lastnosti X, Y, Width in Height kontrolnika, bodo vaše formule prepisane s konstantnimi vrednostmi, če pozneje povlečete kontrolnik v urejevalnik delovnega območja. Ko začnete uporabljati formule za doseganje dinamične postavitve, se morate izogibati vlečenju kontrolnikov.

V najpreprostejšem primeru en kontrolnik zapolni cel zaslon. Za doseganje tega učinka nastavite lastnosti kontrolnika na te vrednosti:

Lastnost Vrednost
X 0
Y 0
Širina Parent.Width
Višina Parent.Height

Te formule uporabljajo operator Nadrejeni. Za kontrolnik, umeščen neposredno na zaslon, se možnost Nadrejeni sklicuje na zaslon. S temi vrednostmi lastnosti je kontrolnik prikazan v zgornjem levem kotu zaslona (0, 0) ter ima isti lastnosti Width in Height kot zaslon.

Pozneje v tej temi bomo uporabili ta načela (in operator Nadrejeni) za umestitev kontrolnikov znotraj drugih vsebnikov, kot so galerije, kontrolniki skupine in komponente.

Alternativa je, da kontrolnik zapolni samo zgornjo polovico zaslona. Za ustvarjanje tega učinka nastavite lastnost Height na Parent.Height +/2 in pustite druge formule nespremenjene.

Če želite, da drugi kontrolnik zapolnjuje spodnjo polovico istega zaslona, lahko uporabite vsaj dva druga pristopa k sestavljanju njegovih formul. Zaradi preprostosti lahko uporabite ta pristop:

Ctrl Lastnost Formula
Zgor. X 0
Zgor. Y 0
Zgor. Širina Parent.Width
Zgor. Višina Parent.Height / 2
Nižje X 0
Nižje Y Parent.Height / 2
Nižje Širina Parent.Width
Nižje Višina Parent.Height / 2

Kontrolnik »Zgoraj« in »Spodaj«.

S to konfiguracijo bi dosegli želeni učinek, vendar bi morali urediti vsako formulo, če bi si premislili o relativni velikosti kontrolnikov. Lahko bi se na primer odločili, da naj zgornji kontrolnik zaseda le zgornjo tretjino zaslona, spodnji kontrolnik pa spodnji dve tretjini.

Če želite ustvariti ta učinek, morate posodobiti lastnost Height kontrolnika Upper ter lastnosti Y in Height kontrolnika Lower. Raje razmislite o tem, da bi formule za kontrolnik Lower napisali v smislu kontrolnika Upper (in samega sebe), kot v tem primeru:

Ctrl Lastnost Formula
Zgor. X 0
Zgor. Y 0
Zgor. Širina Parent.Width
Zgor. Višina Parent.Height / 3
Lower X 0
Lower Y Upper.Y + Upper.Height
Lower Širina Parent.Width
Nižje Višina Parent.Height - Lower.Y

Relativno prilagajanje velikost kontrolnikov »Upper« in »Lower«.

Ko so te formule umeščene, morate spremeniti samo lastnost Height kontrolnika Upper, da izrazite drugačen del višine zaslona. Kontrolnik Lower se samodejno premakne in spremeni velikost na račun za spremembo.

S temi vzorci formul lahko izražate običajne odnose postavitev med kontrolnikom, poimenovanim C, in njegovim nadrejenim ali sorodnim kontrolnikom, poimenovanim D.

Odnos med kontrolnikom C in njegovim nadrejenim kontrolnikom Lastnost Formula Ilustracija
C zapolni širino nadrejenega kontrolnika z obrobo N X N Primer, kako kontrolnik C zapolni širino nadrejenega kontrolnika.
Širina Parent.Width - (N * 2)
C zapolni višino nadrejenega kontrolnika z obrobo N Y N Primer, kako kontrolnik C zapolni višino nadrejenega kontrolnika.
Višina Parent.Height - (N * 2)
C poravnan z desnim robom nadrejenega kontrolnika, z obrobo N X Parent.Width - (C.Width + N) Primer, ko je C poravnan z desnim robom nadrejenega kontrolnika.
C poravnan s spodnjim robom nadrejenega kontrolnika, z obrobo N Y Parent.Height - (C.Height + N) Primer, ko je C poravnan s spodnjim robom nadrejenega kontrolnika.
C vodoravno centriran na nadrejeni kontrolnik X (Parent.Width - C.Width) / 2 Primer, kako je kontrolnik C vodoravno centriran na nadrejeni kontrolnik.
C navpično centriran na nadrejeni kontrolnik Y (Parent.Height - C.Height) / 2 Primer, kako je kontrolnik C navpično centriran na nadrejeni kontrolnik.
Odnos med kontrolnikoma C in D Lastnost Formula Ilustracija
C je vodoravno poravnan s kontrolnikom D in iste širine kot D X D.X Primer vzorca vodoravne poravnave.
Širina D.Width
C je navpično poravnan s kontrolnikom D in iste višine kot D Y D.Y Primer vzorca navpične poravnave.
Višina D.Height
Desni rob kontrolnika C poravnan z desnim robom kontrolnika D X D.X + D.Width - C.Width Primer vzorca poravnave z desnim robom.
Spodnji rob kontrolnika C poravnan s spodnjim robom kontrolnika D Y D.Y + D.Height - C.Height Primer vzorca poravnave s spodnjim robom.
C vodoravno centriran glede na D X D.X + (D.Width - C.Width) / 2 Primer vzorca vodoravnega centriranja.
C navpično centriran glede na D Y D.Y + (D.Height - C.Height) /2 Primer vzorca navpičnega centriranja.
C umeščen desno od kontrolnika D z vrzeljo N X D.X + D.Width + N Primer vzorca umestitve desno.
C umeščen pod D z vrzeljo N Y D.Y + D.Height + N Primer vzorca umestitve spodaj.
C zapolni prostor med kontrolnikom D in desnim robom nadrejenega kontrolnika X D.X + D.Width Primer vzorca zapolnitve prostora med kontrolnikom D in desnim robom.
Širina Parent.Width - C.X
C zapolni prostor med kontrolnikom D in spodnjim robom nadrejenega kontrolnika Y D.Y + D.Height Primer vzorca zapolnitve prostora med kontrolnikom D in spodnjim delom roba.
Višina Parent.Height - C.Y

Hierarhična postavitev

Ko boste začeli graditi zaslone, ki vsebujejo več kontrolnikov, bo postalo priročnejše (ali celo potrebno) umestiti kontrolnike glede na nadrejeni kontrolnik, namesto glede na zaslon ali sorodni kontrolnik. Z organiziranjem kontrolnikov v hierarhično strukturo lahko poskrbite za enostavnejše pisanje in vzdrževanje formul.

Galerije

Če uporabite galerijo v aplikaciji, boste morali postaviti kontrolnike znotraj predloge galerije. Te kontrolnike lahko umestite s pisanjem formul, ki uporabljajo operator Nadrejeni, ki se bo skliceval na predlogo galerije. V formulah o kontrolnikih znotraj predloge galerije uporabite lastnosti Parent.TemplateHeight in Parent.TemplateWidth; ne uporabljajte Parent.Width in Parent.Height, ki se sklicujeta na splošno velikost galerije.

Navpična galerija s prikazom širine in višine predloge.

Kontrolnik vsebnika

Za nadrejeni kontrolnik lahko uporabite kontrolnik Vsebnik postavitve.

Poglejmo si primer glave na vrhu zaslona. Običajno je, da imate glavo z naslovom in več ikonami, s katerimi imajo lahko vaši uporabniki interakcije. Takšno glavo lahko sestavite s kontrolnikom Container, ki vsebuje kontrolnik Label in dva kontrolnika Icon:

Primer glave z uporabo skupine.

Nastavite lastnosti za te kontrolnike na te vrednosti:

Lastnost Glava Meni Zaprto Naziv
X 0 0 Parent.Width - Close.Width Menu.X + Menu.Width
Y 0 0 0 0
Širina Parent.Width Parent.Height Parent.Height Close.X - Title.X
Višina 64 Parent.Height Parent.Height Parent.Height

Za kontrolnik Header se Parent sklicuje na zaslon. Za druge se Parent sklicuje na kontrolnik Header.

Ko napišete te formule, lahko prilagodite zaslon ali položaj kontrolnika Header tako, da spremenite formule za njegove lastnosti. Velikosti in položaji podrejenih kontrolnikov se bodo samodejno ustrezno prilagodili.

Kontrolniki vsebnikov s samodejno postavitvijo

Za samodejno postavitev podrejenih komponent lahko uporabite funkcijo, kontrolnike vsebnika Samodejna postavitev . Ti kontrolniki določajo položaj podrejenih komponent, tako da vam nikoli ne bo treba nastaviti X, Y za komponento znotraj vsebnika. Lahko tudi razporedi razpoložljivi prostor svojim podrejenim komponentam ter določi vodoravno in navpično poravnavo podrejenih komponent. Več informacij: Kontrolniki vsebnikov s samodejno postavitvijo

Komponente

Če uporabljate drugo funkcijo, imenovano Komponente, lahko sestavite gradnike in jih znova uporabite v svoji aplikaciji. Kot pri kontrolniku Container bi morali kontrolniki, ki jih umestite znotraj komponente, utemeljiti svoje formule za položaj in velikost na Parent.Width in Parent.Height, ki se sklicujeta na velikost komponent. Več informacij: Ustvarjanje komponente.

Prilagajanje postavitve glede na velikost in usmeritev naprave

Do zdaj smo se naučili, kako uporabiti formule za spreminjanje velikosti vsakega kontrolnika kot odziv na razpoložljivi prostor, pri tem pa ohraniti kontrolnike poravnane glede na drug drugega. Morda pa bi želeli ali morali izvesti znatnejše spremembe postavitve v odziv na drugačne velikosti in usmeritve naprav. Ko je naprava zavrtena iz pokončne v ležečo usmeritev, boste morda želeli preklopiti z navpične postavitve v vodoravno. V večji napravi lahko prednastavite več vsebine ali jo prerazporedite, da zagotovite privlačnejšo postavitev. V manjši napravi boste morda morali razdeliti vsebino po več zaslonih.

Usmeritev naprave

Privzete formule za lastnosti Width in Height zaslona, kot so bile opisane v zgodnejšem delu te teme, ne bodo nujno zagotovile dobro izkušnjo, če uporabnik zavrti napravo. Na primer, aplikacija zasnovana za telefon v pokončni usmeritvi ima DesignWidth 640 in DesignHeight 1136. Ista aplikacija v telefonu v ležeči usmeritvi bo imela te vrednosti lastnosti:

  • Lastnost zaslona Width je nastavljena na Max(App.Width, App.DesignWidth). Širina (1136) aplikacije je večja kot njena vrednost DesignWidth (640), zato je formula ovrednotena na 1136.
  • Lastnost zaslona Height je nastavljena na Max(App.Height, App.DesignHeight). Višina (640) aplikacije je manjša kot njena vrednost DesignHeight (1136), zato je formula ovrednotena na 1136.

Če je Višina zaslona 1136 in višina naprave (v tej usmeritvi) 640, se mora uporabnik navpično pomikati po zaslonu, kar morda ni izkušnja, ki jo želite.

Za prilagoditev lastnosti Width in Height na usmeritev naprave, lahko uporabite ti formuli:

Širina = Max(App.Width, If(App.Width < App.Height, App.DesignWidth, App.DesignHeight))

Višina = Max(App.Height, If(App.Width < App.Height, App.DesignHeight, App.DesignWidth))

Ti formuli zamenjata vrednosti DesignWidth in DesignHeight aplikacije na podlagi tega, ali je širina naprave manjša od njene višine (pokončna usmeritev) ali večja od njene višine (ležeča usmeritev).

Ko prilagodite formuli Širina in Višina zaslona, bi morda želeli tudi prerazporediti kontrolnike na zaslonu za boljšo izrabo razpoložljivega prostora. Na primer, če vsak od obeh kontrolnikov zaseda polovico zaslona, bi ju lahko naložili navpično v pokončni usmeritvi, a razporedili drugega ob drugega v ležeči usmeritvi.

Uporabite lahko lastnost Orientation zaslona za določitev, ali je zaslon usmerjen navpično ali vodoravno.

Opomba

V ležeči usmeritvi sta kontrolnika Upper in Lower prikazana kot levi in desni kontrolnik.

Ctrl Lastnost Formula
Zgor. X 0
Zgor. Y 0
Zgor. Širina If(Parent.Orientation = Layout.Vertical, Parent.Width, Parent.Width / 2)
Zgor. Višina If(Parent.Orientation = Layout.Vertical, Parent.Height / 2, Parent.Height)
Lower X If(Parent.Orientation = Layout.Vertical, 0, Upper.X + Upper.Width)
Lower Y If(Parent.Orientation = Layout.Vertical, Upper.Y + Upper.Height, 0)
Lower Širina Parent.Width - Lower.X
Nižje Višina Parent.Height - Lower.Y

Izrazi za prilagajanje pokončne usmeritve.

Izrazi za prilagajanje ležeče usmeritve.

Velikosti zaslona in prekinitvene točke

Postavitev lahko prilagodite na podlagi velikosti naprave. Lastnost Size zaslona razvrsti velikost trenutne naprave. Velikost je pozitivno celo število; vrsta ScreenSize zagotovi poimenovane konstante za boljšo berljivost. V tej tabeli so navedene konstante:

Konstanta Vrednost Vrsta običajne naprave (s privzetimi nastavitvami aplikacije)
ScreenSize.Small 1 Telefonska številka
ScreenSize.Medium 2 Tablični računalnik, navpična postavitev
ScreenSize.Large 3 Tablični računalnik, vodoravna postavitev
ScreenSize.ExtraLarge 4 Namizni računalnik

Uporabite te velikosti za sprejemanje odločitev o postavitvi aplikacije. Na primer, če želite, da je kontrolnik skrit v napravi velikosti telefona, sicer pa viden, bi lahko nastavili lastnost Visible kontrolnika na to formulo:

Parent.Size >= ScreenSize.Medium

Ta formula je ovrednotena na true, ko je velikost srednja ali večja, sicer pa na false.

Če želite, da kontrolnik zavzema drugačen del širine zaslona na podlagi velikosti zaslona, nastavite lastnost kontrolnika Width na to formulo:

Parent.Width *
Switch(
    Parent.Size,
    ScreenSize.Small, 0.5,
    ScreenSize.Medium, 0.3,
    0.25
)

Ta formula nastavi širino kontrolnika na polovico širine zaslona na majhnem zaslonu, tri desetine širine zaslona na srednjem zaslonu in četrtino zaslona na vseh drugih zaslonih.

Prekinitvene točke po meri

Lastnost Size zaslona je izračunana s primerjavo lastnosti Width zaslona z vrednostmi v lastnosti SizeBreakpoints aplikacije. Ta lastnost je tabela z enim stolpcem s številkami, ki označujejo prekinitvene točke širine, ki ločujejo poimenovane velikosti zaslona:

V aplikaciji, ustvarjeni za tablični računalnik ali splet, je privzeta vrednost v lastnosti SizeBreakpoints aplikacije [600, 900, 1200]. V aplikaciji, ustvarjeni za telefone, je vrednost [1200, 1800, 2400]. (Vrednosti za telefonske aplikacije so podvojene, ker takšne aplikacije uporabljajo koordinate, ki so dejansko podvojene koordinate, uporabljene v drugih aplikacijah.)

Privzete vrednosti lastnosti App.SizeBreakpoints.

Prekinitvene točke aplikacije lahko prilagodite, tako da spremenite vrednosti v lastnosti SizeBreakpoints. Izberite možnost Aplikacija v drevesnem pogledu, izberite SizeBreakpoints v seznamu lastnosti in nato uredite vrednosti v vnosni vrstici. Ustvarite lahko toliko prekinitvenih točk, kot jih vaša aplikacija potrebuje, toda samo velikosti od 1 do 4 ustrezajo poimenovanim velikostnim zaslona. V formulah se lahko sklicujete na velikosti, ki presegajo ExtraLarge, glede na njihove numerične vrednosti (5, 6 in tako naprej).

Določite lahko tudi manj prekinitvenih točk. Na primer, vaša aplikacija morda potrebuje le tri velikosti (dve prekinitveni točki), zato bodo možne velikosti zaslona majhna, srednja ali velika.

Znane omejitve

Delovno območje za ustvarjanje se ne odziva na ustvarjene formule za prilagajanje velikosti. Če želite preskusiti odzivno vedenje, shranite in objavite aplikacijo ter jo nato odprite v napravah ali oknih brskalnika različnih velikosti in usmeritev.

Če zapišete izraze ali formule v lastnostih X, Y, Width in Height kontrolnika, boste prepisali te izraze ali formule, če pozneje povlečete kontrolnik na drugo lokacijo ali spremenite velikost kontrolnika, tako da povlečete njegovo mejo.

Opomba

Ali nam lahko poveste, kateri je vaš prednostni jezik za dokumentacijo? Izpolnite kratko anketo. (upoštevajte, da je v angleščini)

Z anketo boste porabili približno sedem minut. Ne zbiramo nobenih osebnih podatkov (izjava o zasebnosti).