Reaģējošu izkārtojumu izveide pamatnes programmās

Pirms veidojat pamatnes programmu pakalpojumā Power Apps, ir jānorāda, vai šo programmu pielāgot tālrunim vai planšetdatoram. Šī izvēle nosaka lielumu un formu pamatnei, uz kuras savu programmu būvējat.

Pēc šīs izvēles izdarīšanas varat veikt vēl dažas izvēles, ja atlasāt Iestatījumi > Displejs. Varat izvēlēties portreta vai ainavas orientāciju un ekrāna lielumu (tikai planšetdatoram). Varat arī bloķēt vai atbloķēt ekrāna malu proporcijas un atbalstīt (vai neatbalstīt) ierīces grozīšanu.

Veidojot ekrāna izkārtojumus, šīs izvēles veido pamatu visām pārējām jūsu veiktajām izvēlēm. Ja jūsu programma darbojas cita izmēra ierīcē vai tīmeklī, viss jūsu izkārtojums tiek mērogots tā, lai ietilptu ekrānā, kur programma darbojas. Piemēram, ja tālrunim paredzēta programma darbojas lielā pārlūkprogrammas logā, kompensēšanas nolūkos šī programma tiek mērogota un savai aizņemtajai telpai izskatās pārmērīgi liela. Programma nevar izmantot papildu pikseļus, rādot vairāk vadīklu vai vairāk satura.

Ja veidojat reaģējošu izkārtojumu, vadīklas var reaģēt uz dažādām ierīcēm un logu lielumiem, padarot dabiskākas dažādās funkcionalitātes. Lai panāktu reaģējošu izkārtojumu, ir jāpielāgo daži iestatījumi un jāraksta izteiksmes visā programmā.

Atspējot Mērogot, lai ietilpinātu

Katru ekrānu var konfigurēt tā, lai tā izkārtojums pielāgotos faktiskajai telpai, kur programma darbojas.

Reaģētspēja tiek aktivizēta, izslēdzot programmas iestatījumu Mērogot, lai ietilpinātu, kurš pēc noklusējuma ir ieslēgts. Kad šo iestatījumu izslēdzat, tiek izslēgts arī iestatījums Fiksēt proporcijas, jo noformēšana vairs nenotiek konkrētai ekrāna formai. (Joprojām varat norādīt, vai šī programma atbalsta ierīces grozīšanu.)

Iestatījuma “Mērogot, lai ietilpinātu” atspējošana.

Lai savu programmu padarītu reaģētspējīgu, ir jāveic vēl citas darbības, taču šīs izmaiņas ir pirmais solis ceļā uz reaģētspējas nodrošināšanu.

Programmas un ekrāna izmēru apraksts

Lai nodrošinātu, ka programmas izkārtojumi reaģē uz ekrāna izmēru izmaiņām, ir jāraksta formulas, kur tiek izmantoti ekrāna rekvizīti Platums un Augstums. Lai parādītu šos rekvizītus, atveriet kādu programmu pakalpojumā Power Apps Studio un pēc tam atlasiet kādu ekrānu. Šo rekvizītu noklusējuma formulas ir redzamas labās rūts cilnē Papildu.

Platums = Max(App.Width, App.DesignWidth)

Augstums = Max(App.Height, App.DesignHeight)

Šīs formulas attiecas uz programmas rekvizītiem Platums, Augstums, DesignWidth un DesignHeight. Programmas rekvizīti Platums un Augstums atbilst tās ierīces vai pārlūkprogrammas izmēriem, kur šī programma darbojas. Ja lietotājs maina pārlūkprogrammas loga lielumu (vai pagriež ierīci, ja esat izslēdzis iestatījumu Fiksēt orientāciju), šo rekvizītu vērtības dinamiski mainās. Kad šīs vērtības mainās, vēlreiz tiek aprēķinātas formulas ekrāna rekvizītos Platums un Augstums.

Rekvizīti DesignWidth un DesignHeight nāk no dimensijām, kuras norādāt Iestatījumu rūtī Displejs. Piemēram, ja atlasāt tālruņa izkārtojumu portretorientācijā, DesignWidth vērtība ir 640 un DesignHeight vērtība ir 1136.

Tā kā šie rekvizīti tiek izmantoti formulās ekrāna rekvizītu Platums un Augstums aprēķināšanai, rekvizītu DesignWidth un DesignHeight varat uzskatīt par minimālajiem izmēriem, kādiem savu programmu veidojat. Ja faktiskais laukums, kas jūsu programmai ir pieejams, ir mazāks pat par šiem minimālajiem izmēriem, formulas ekrāna rekvizītiem Platums un Augstums gādā par to, lai to vērtības nekļūtu mazākas par minimālajām. Tādā gadījumā lietotājam ir nepieciešams ritināt, lai skatītu visu ekrāna saturu.

Kad esat norādījis savas programmas rekvizītus DesignWidth un DesignHeight, (vairumā gadījumu) nav nepieciešams mainīt noklusējuma formulas katra ekrāna rekvizītiem Platums un Augstums. Tālāk šajā tēmā ir aprakstīti gadījumi, kad jūs varētu vēlēties pielāgot šīs formulas.

Formulu izmantošana dinamiskam izkārtojumam

Lai izveidotu reaģējošu dizainu, katras vadīklas lielums ir jāatrod un jānorāda, izmantojot formulas, nevis absolūtas (konstantas) koordinātu vērtības. Šīs formulas norāda katras vadīklas pozīciju un lielumu, izsakot to pret ekrāna kopējo lielumu vai relatīvi pret citām ekrānā esošajām vadīklām.

Svarīgi

Kad ir ierakstītas formulas vadīklas rekvizītiem X, Y, Platums un Augstums, jūsu formulas tiek pārrakstītas ar konstantām vērtībām, ja pēc tam šo vadīklu ievelkat pamatnes redaktorā. Kad dinamiska izkārtojuma panākšanas nolūkos sākat izmantot formulas, ir jācenšas izvairīties no vadīklu vilkšanas.

Vienkāršākajā gadījumā viena vadīkla aizpilda visu ekrānu. Lai radītu šo efektu, vadīklas rekvizīti ir jāiestata uz tālāk norādītajām vērtībām.

Rekvizīts Vērtība
X 0
Y 0
Platums Parent.Width
Augstums Parent.Height

Šīs formulas izmanto operatoru Parent. Vadīklai, kas ir novietota tieši ekrānā, Parent attiecas uz ekrānu. Ar šīm rekvizītu vērtībām vadīkla tiek rādīta ekrāna kreisajā augšējā stūrī (0, 0) un vadīklas vērtības Platums un Augstums ir vienādas ar ekrāna vērtībām.

Tālāk šajā tēmā jūs šos principus (un operatoru Parent ) izmantosiet, lai pozicionētu vadīklas citos konteineros, piemēram, galerijās, grupu vadīklās un komponentos.

Ja vēlaties, vadīkla var aizpildīt tikai ekrāna augšējo pusi. Lai radītu šo efektu, iestatiet rekvizītu Augstums uz Parent.Height /2 un atstājiet pārējās formulas nemainītas.

Ja vēlaties, lai tā paša ekrāna apakšējo pusi aizpildītu otra vadīkla, tās formulas varat izveidot vismaz divos citos veidos. Vienkāršības labad varat izmantot tālāk norādīto metodi.

Vadīkla Rekvizīts Formula
Augšējais X 0
Augšējais Y 0
Augšējais Platums Parent.Width
Augšējais Augstums Parent.Height / 2
Apakšējā X 0
Apakšējā Y Parent.Height / 2
Apakšējā Platums Parent.Width
Apakšējā Augstums Parent.Height / 2

Vadīkla Augšējais un Apakšējais.

Šī konfigurācija sasniegtu vēlamo efektu, taču gadījumā, ja izlemjat mainīt vadīklu relatīvos lielumus, jums būtu nepieciešams rediģēt katru formulu. Piemēram, jūs varētu izlemt, ka augšējai vadīklai augšā ir jāaizņem tikai trešā daļa no ekrāna, bet apakšējai vadīklai apakšā ir jāaizpilda divas trešdaļas.

Lai radītu šādu efektu, ir jāatjaunina vadīklas Augšējais rekvizīts Augstums un vadīklas Apakšējais rekvizīti Y un Augstums. Tā vietā apsveriet iespēju vadīklas Apakšējais formulas uzrakstīt, izmantojot vadīklu Augšējais (un attiecīgo vadīklu pašu), kā parādīts nākamajā piemērā.

Vadīkla Rekvizīts Formula
Augšējais X 0
Augšējais Y 0
Augšējais Platums Parent.Width
Augšējais Augstums Parent.Height / 3
Apakšējais X 0
Apakšējais Y Upper.Y + Upper.Height
Apakšējais Platums Parent.Width
Apakšējā Augstums Parent.Height - Lower.Y

Vadīklu Augšējais un Apakšējais relatīvā lieluma norādīšana.

Ja izmantojat šīs formulas, ir jāmaina tikai vadīklas Augšējais rekvizīts Augstums, lai norādītu citādu daļu no ekrāna augstuma. Vadīkla Apakšējais automātiski pārvietojas un maina lielumu saskaņā ar šīm izmaiņām.

Varat izmantot šos formulu modeļus, lai norādītu parastās izkārtojuma attiecības starp vadīklu, sauktu par C, un tās primāro (Parent) vai vienādranga vadīklu, sauktu par D.

Attiecības starp vadīklu C un tās primāro elementu Rekvizīts Formula Ilustrācija
C aizpilda primārā elementa platumu ar piemali N X N Piemērs, kur C aizpilda primārā elementa platumu.
Platums Parent.Width - (N * 2)
C aizpilda primārā elementa augstumu ar piemali N Y N Piemērs, kur C aizpilda primārā elementa augstumu.
Augstums Parent.Height - (N * 2)
Vadīkla C ir novietota gar primārā elementa labo malu ar piemali N X Parent.Width - (C.Width + N) C piemērs, kas izlīdzināts pie primārās entītijas labās malas.
Vadīkla C ir novietota gar primārā elementa apakšējo malu ar piemali N Y Parent.Height - (C.Height + N) C piemērs, kas izlīdzināts pie primārās entītijas apakšējās malas.
Vadīkla C ir horizontāli centrēta uz primārā elementa X (Parent.Width - C.Width) / 2 Piemērs, kur vadīkla C ir horizontāli centrēta uz primārā elementa.
Vadīkla C ir vertikāli centrēta uz primārā elementa Y (Parent.Height - C.Height) / 2 Piemērs, kur vadīkla C ir vertikāli centrēta uz primārā elementa.
Attiecības starp C un D Rekvizīts Formula Ilustrācija
Vadīkla C ir horizontāli novietota atbilstoši D, un tās platums ir vienāds ar D platumu X D.X Horizontāla līdzināta raksta piemērs.
Platums D.Width
Vadīkla C ir vertikāli novietota atbilstoši D, un tās augstums ir vienāds ar D augstumu Y D.Y Vertikāla līdzināta raksta piemērs.
Augstums D.Height
Vadīklas C labā mala ir novietota atbilstoši vadīklas D labajai malai X D.X + D.Width - C.Width Līdzinātas labās malas piemērs.
Vadīklas C apakšējā mala ir novietota atbilstoši vadīklas D apakšējai malai Y D.Y + D.Height - C.Height Līdzinātas apakšējās malas piemērs.
Vadīkla C ir horizontāli centrēta pret D X D.X + (D.Width - C.Width) / 2 Horizontāli centrēta raksta piemērs.
Vadīkla C ir vertikāli centrēta pret D Y D.Y + (D.Height - C.Height) /2 Vertikāli centrēta raksta piemērs.
Vadīkla C ir novietota pa labi no D ar atstarpi N X D.X + D.Width + N Pa labi novietota parauga piemērs.
Vadīkla C ir novietota zem D ar atstarpi N Y D.Y + D.Height + N Zem parauga novietota parauga piemērs.
Vadīkla C aizpilda laukumu starp D un primārā elementa labo malu X D.X + D.Width Vietas starp D un labās malas parauga piemērs.
Platums Parent.Width - C.X
Vadīkla C aizpilda laukumu starp D un primārā elementa apakšējo malu Y D.Y + D.Height Vietas starp D un labās malas parauga piemērs.
Augstums Parent.Height - C.Y

Hierarhisks izkārtojums

Veidojot ekrānus, kuros ir vairāk vadīklu, ērtāk (vai pat nepieciešams) kļūs vadīklas pozicionēt relatīvi pret primārās vadīklas pozīciju, nevis pret ekrānu vai vienādranga vadīklu. Savas vadīklas sakārtojot hierarhiskā struktūrā, formulas uzrakstīt un uzturēt kļūst vienkāršāk.

Galerijas

Ja savā programmā izmantojat galeriju, vadīklas ir jāizkārto galerijas veidnē. Šīs vadīklas varat pozicionēt, rakstot formulas, kur tiek izmantots operators Parent, kurš apzīmē galerijas veidni. Formulās, kas paredzētas vadīklām galerijas veidnē, ir jāizmanto rekvizīti Parent.TemplateHeight un Parent.TemplateWidth; neizmantojiet rekvizītus Parent.Width un Parent.Height, kuri attiecas uz vispārējo galerijas lielumu.

Vertikāla galerija, kur redzams veidnes platums un augstums.

Konteinera vadīkla

Jūs varat izmantot Izkārtojuma konteineru kā primāro vadīklu.

Apskatiet galvenes piemēru ekrāna augšdaļā. Bieži vien tiek izmantota galvene ar nosaukumu un vairākām ikonām, kuras lietotāji var izmantot. Šādu galveni varat izveidot, izmantojot vadīklu Konteiners, kur atrodas vadīkla Etiķete un divas vadīklas Ikona.

Piemērs ar galveni, kur tiek izmantota grupa.

Šo vadīklu rekvizītiem iestatiet tālāk norādītās vērtības.

Rekvizīts Galvene Izvēlne Aizvērt Nosaukums
X 0 0 Parent.Width - Close.Width Menu.X + Menu.Width
Y 0 0 0 0
Platums Parent.Width Parent.Height Parent.Height Close.X - Title.X
Augstums 64 Parent.Height Parent.Height Parent.Height

Vadīklai Galvene operators Parent attiecas uz ekrānu. Citām vadīklām operators Parent attiecas uz vadīklu Galvene.

Kad ir uzrakstītas šīs formulas, vadīklas Galvene izmēru un pozīciju varat regulēt, mainot formulas tās rekvizītiem. Sekundāro vadīklu izmēri un pozīcijas tiks atbilstoši pielāgotas automātiski.

Automātiskā izkārtojuma konteinera vadīklas

Varat izmantot līdzekli, automātiskās izkārtojuma konteinera vadīklas, lai automātiski izkārtotu pakārtotos komponentus. Šie konteineri nosaka pakārtoto komponentu novietojumu, lai nekad netiktu iestatīta X, Y vērtība komponentam konteinera iekšienē. Turklāt tas var izplatīt pieejamo vietu saviem pakārtotajiem komponentiem, pamatojoties uz iestatījumiem, kā arī nosaka gan vertikālo, gan horizontālo atvasināto komponentu līdzinājumu. Papildinformācija: Automātiska izkāŗtojuma konteinera vadīklas

Komponenti

Ja izmantojat citu līdzekli ar nosaukumu Komponenti, varat izveidot veidošanas blokus un atkārtoti tos izmantot visā programmā. Līdzīgi kā ar vadīklu Konteiners, arī komponentā ievietoto vadīklu pozīcijas un lieluma formulām ir jābūt balstītām uz vērtībām Parent.Width un Parent.Height, kuras attiecas uz komponenta lielumu. Papildinformācija: Komponenta izveide.

Izkārtojuma pielāgošana ierīces lielumam un orientācijai

Līdz šim jūs esat apguvis, kā izmantot formulas, lai mainītu katras vadīklas lielumu, reaģējot uz pieejamo vietu, vienlaikus saglabājot vadīklu savstarpējo izkārtojumu. Taču, reaģējot uz dažādiem ierīces izmēriem un orientāciju, var būt nepieciešamas būtiskākas izkārtojuma izmaiņas. Kad ierīce tiek pagriezta, piemēram, no portreta uz ainavas orientāciju, varat vēlēties pārslēgties no vertikāla izkārtojuma uz horizontālo. Lielākā ierīcē varat rādīt vairāk satura vai to pārkārtot, lai izkārtojums kļūtu pievilcīgāks. Mazākā ierīcē var būt nepieciešams saturu sadalīt pa vairākiem ekrāniem.

Ierīces orientācija

Noklusējuma formulas ekrāna rekvizītiem Platums un Augstums, kā šajā tēmā bija aprakstīts jau iepriekš, ne vienmēr nodrošina labu funkcionalitāti, ja lietotājs ierīci pagriež. Piemēram, programmai, kas ir paredzēta tālrunim portretorientācijā, rekvizīta DesignWidth vērtība ir 640 un rekvizīta DesignHeight vērtība ir 1136. Tai pašai programmai, bet tālrunim ainavorientācijā, ir tālāk norādītās rekvizītu vērtības.

  • Ekrāna rekvizīts Platums ir iestatīts uz Max(App.Width, App.DesignWidth). Programmas Platums (1136) ir lielāks pat tās rekvizītu DesignWidth (640), tādēļ formulas rezultāts ir 1136.
  • Ekrāna rekvizīts Augstums ir iestatīts uz Max(App.Height, App.DesignHeight). Programmas Augstums (640) ir mazāks pat tās rekvizītu DesignHeight (1136), tādēļ formulas rezultāts ir 1136.

Kad ekrāna Augstums ir 1136 un ierīces augstums (šajā orientācijā) ir 640, lietotājam ir nepieciešams ekrānu ritināt vertikāli, lai parādītu visu tā saturu, un tas varētu nebūt lietošanas veids, kādu vēlējāties panākt.

Lai ekrāna rekvizītus Platums un Augstums pielāgotu ierīces orientācijai, varat izmantot tālāk norādītās formulas.

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

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

Šīs formulas apmaina vietām programmas vērtības DesignWidth un DesignHeight, balstoties uz to, vai ierīces platums ir mazāks par tās augstumu (portretorientācija) vai lielāks par tās augstumu (ainavorientācija).

Kad ir pielāgotas formulas ekrāna rekvizītiem Platums un Augstums, varat vēlēties pārkārtot ekrānā rādītās vadīklas, lai labāk izmantotu pieejamo vietu. Piemēram, ja katra no abām vadīklām aizņem pusi ekrāna, portretorientācijā varat tās sakraut vertikāli, bet ainavorientācijā novietot vienu otrai līdzās.

Lai noteiktu, vai ekrāns ir orientēts vertikāli vai horizontāli, varat izmantot ekrāna rekvizītu Orientācija.

Piezīme

Ainavorientācijā vadīklas Augšējais un Apakšējais tiek rādītas kā kreisā un labā vadīkla.

Vadīkla Rekvizīts Formula
Augšējais X 0
Augšējais Y 0
Augšējais Platums If(Parent.Orientation = Layout.Vertical, Parent.Width, Parent.Width / 2)
Augšējais Augstums If(Parent.Orientation = Layout.Vertical, Parent.Height / 2, Parent.Height)
Apakšējais X If(Parent.Orientation = Layout.Vertical, 0, Upper.X + Upper.Width)
Apakšējais Y If(Parent.Orientation = Layout.Vertical, Upper.Y + Upper.Height, 0)
Apakšējais Platums Parent.Width - Lower.X
Apakšējā Augstums Parent.Height - Lower.Y

izteiksmes portretorientācijas pielāgošanai.

izteiksmes ainavorientācijas pielāgošanai.

Ekrāna lielumi un pārtraukumpunkti

Savu izkārtojumu varat pielāgot atkarībā no ierīces lieluma. Ekrāna rekvizīts Lielums klasificē pašreizējo ierīces lielumu. Lielums ir pozitīvs vesels skaitlis, lasāmības uzlabošanas nolūkos tips ScreenSize norāda nosauktas konstantes. Šīs konstantes ir norādītas nākamajā tabulā.

Konstante Vērtība Tipiskais ierīces tips (izmantojot noklusējuma programmas iestatījumus)
ScreenSize.Small 1 Tālrunis
ScreenSize.Medium 2 Planšetdators, turēts vertikāli
ScreenSize.Large 3 Planšetdators, turēts horizontāli
ScreenSize.ExtraLarge 4 Galddators

Izmantojiet šos lielumus, lai pieņemtu lēmumus par savas programmas izkārtojumu. Piemēram, ja vēlaties, lai tālruņa izmēra ierīcē vadīkla tiktu slēpta, bet citādi būtu redzama, vadīklas rekvizītu Redzams varat iestatīt uz šādu formulu:

Parent.Size >= ScreenSize.Medium

Šīs formulas rezultāts ir true (patiess), ja lielums ir vidējs vai lielāks, bet citādi rezultāts ir false (aplams).

Ja vēlaties, lai atkarībā no ekrāna lieluma vadīkla aizņemtu atšķirīgu ekrāna platuma daļu, vadīklas rekvizītam Platums iestatiet šādu formulu:

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

Ar šo formulu tiek iestatīts, ka mazā ekrānā vadīklas platums ir puse no ekrāna platuma, vidējā ekrānā tā ir trīs desmitdaļas no ekrāna platuma un visos pārējos ekrānos tā ir ceturtā daļa ekrāna platuma.

Pielāgoti pārtraukumpunkti

Ekrāna rekvizīts Lielums tiek aprēķināts, ekrāna rekvizītu Platums salīdzinot ar vērtībām programmas rekvizītā SizeBreakpoints. Šis rekvizīts ir skaitļu tabula ar vienu kolonnu, kur ir norādīti nosauktos ekrāna lielumus atdalošie platuma pārtraukumpunkti.

Planšetdatoram vai tīmeklim paredzētā programmā noklusējuma vērtība programmas rekvizītā SizeBreakpoints ir [600, 900, 1200]. Tālruņiem paredzētā programmā šī vērtība ir [1200, 1800, 2400]. (Vērtības tālruņa programmām ir divkāršotas, jo šādas programmas izmanto koordinātes, kas faktiski dubulto citās programmās izmantotās koordinātes.)

rekvizīta App.SizeBreakpoints noklusējuma vērtības.

Programmas pārtraukumpunktus varat pielāgot, mainot vērtības programmas rekvizītā SizeBreakpoints. Koka skata atlasiet vienumu Programma, rekvizītu sarakstā atlasiet vienumu SizeBreakpoints un pēc tam rediģējiet vērtības formulas joslā. Varat izveidot tik pārtraukumpunktu, cik vien jūsu programmai nepieciešams, taču nosauktiem ekrāna lielumiem atbilst tikai 1.–4. lielums. Formulās varat atsaukties uz lielumiem aiz lieluma ExtraLarge, izmantojot to skaitliskās vērtības (5, 6 un tā tālāk).

Varat norādīt arī mazāku pārtraukumpunktu skaitu. Piemēram, jūsu programmai var būt nepieciešami tikai trīs lielumi (divi pārtraukumpunkti), tādēļ iespējamie ekrāna lielumi būs Mazs, Vidējs un Liels.

Zināmie ierobežojumi

Autorēšanas pamatne nereaģē uz izveidotajām lieluma noteikšanas formulām. Lai testētu reaģējošo uzvedību, saglabājiet savu programmu un publicējiet to, un pēc tam atveriet šo programmu dažāda lieluma un orientācijas ierīcēs vai pārlūkprogrammas logos.

Ja izteiksmes vai formulas ierakstāt vadīklas rekvizītos X, Y, Platums un Augstums, šīs izteiksmes vai formulas tiek pārrakstītas, ja vēlāk vadīklu pārvelkat uz citu vietu vai vadīklas lielumu maināt, velkot aiz tās apmales.

Piezīme

Kādas ir jūsu dokumentācijas valodas preferences? Aizpildiet īsu aptauju. (ņemiet vērā, ka aptauja ir angļu valodā)

Aptaujai būs nepieciešamas aptuveni septiņas minūtes. Nekādi personas dati netiks vākti (paziņojums par konfidencialitāti).