Vytvorte responzívne rozloženia v aplikáciách plátna

Predtým, ako vytvoríte aplikáciu plátna v Power Apps, určíte, či chcete aplikáciu prispôsobiť pre telefón alebo tablet. Táto voľba určuje veľkosť a tvar plátna, na ktorom budete zostavovať svoju aplikáciu.

Po vykonaní tohto výberu môžete urobiť niekoľko ďalších možností, ak stlačíte položku Nastavenia > Displej. Môžete zvoliť orientáciu na výšku alebo na šírku a veľkosť obrazovky (iba tablet). Môžete tiež uzamknúť alebo odomknúť pomer strán a podporu rotácie zariadenia (alebo nie).

Tieto možnosti sú základom každej inej voľby pri návrhu rozloženia obrazovky. Ak sa vaša aplikácia spúšťa na zariadení inej veľkosti alebo na webe, celé rozloženie sa prispôsobí obrazovke, na ktorej je spustená. Ak sa napríklad aplikácia určená pre telefón spúšťa vo veľkom okne prehľadávača, mierka aplikácie sa prispôsobí a bude vyzerať nadrozmerne. Aplikácia nemôže využiť výhody ďalších pixelov zobrazením viacerých ovládacích prvkov alebo viac obsahu.

Ak vytvoríte responzívne rozloženie, ovládacie prvky môžu reagovať na rôzne zariadenia alebo veľkosti okien, vďaka čomu sú rôzne rozhrania prirodzenejšie. Ak chcete dosiahnuť responzívne rozloženie, upravte niektoré nastavenia a píšte výrazy v celej svojej aplikácii.

Zakázanie prispôsobenia veľkosti

Každú obrazovku môžete nakonfigurovať tak, aby sa jej rozloženie prispôsobilo skutočnému priestoru, v ktorom je aplikácia spustená.

Responzívnosť aktivujete vypnutím nastavenia aplikácie Prispôsobiť veľkosť, ktoré je predvolene zapnuté. Keď toto nastavenie vypnete, vypnete tiež Zachovať pomer strán, pretože už neplánujete pre konkrétny tvar obrazovky. (Stále môžete určiť, či vaša aplikácia podporuje otáčanie zariadení.)

Zakázanie nastavenia Prispôsobenie veľkosti.

Ak chcete, aby vaša aplikácia bola responzívna, musíte podniknúť ďalšie kroky, ale táto zmena je prvým krokom k dosiahnutiu responzívnosti.

Pochopenie rozmerov aplikácie a obrazovky

Ak chcete, aby rozloženia vašej aplikácie reagovali na zmeny rozmerov obrazovky, napíšete vzorce, ktoré používajú vlastnosti obrazovky Šírka a Výška. Ak chcete tieto vlastnosti zobraziť, otvorte aplikáciu v Power Apps Studio a potom vyberte obrazovku. Predvolené vzorce pre tieto vlastnosti sa zobrazujú na karte Pokročilé na pravej table.

Šírka = Max(App.Width, App.DesignWidth)

Výška = Max(App.Height, App.DesignHeight)

Tieto vzorce sa vzťahujú na vlastnosti aplikácie Šírka, Výška, DesignWidth a DesignHeight. Vlastnosti aplikácie Šírka a Výška zodpovedajú rozmerom zariadenia alebo okna prehliadača, v ktorom je spustená vaša aplikácia. Ak používateľ zmení veľkosť okna prehliadača (alebo otočí zariadenie, ak ste vypli Zachovať orientáciu), hodnoty týchto vlastností sa dynamicky menia. Vzorce vo vlastnostiach obrazovky Šírka a Výška Vlastnosti sa prehodnotia, keď sa tieto hodnoty zmenia.

Vlastnosti DesignWidth aDesignHeight pochádzajú z rozmerov, ktoré určíte v table Displej v časti Nastavenia. Ak napríklad vyberiete rozloženie telefónu v orientácii na výšku, DesignWidth je 640 a DesignHeight je 1136.

Keďže sa používajú vo vzorcoch pre vlastnosti obrazovky Šírka a Výška, vlastnosti DesignWidth a DesignHeight môžete považovať za minimálne rozmery, pre ktoré chcete aplikáciu navrhnúť. Ak je skutočná oblasť, ktorá je k dispozícii pre vašu aplikáciu, ešte menšia ako tieto minimálne rozmery, vzorce pre vlastnosti obrazovky Šírka a Výška zabezpečujú, že ich hodnoty nebudú menšie ako minimum. V takom prípade musí používateľ prejsť na zobrazenie celého obsahu obrazovky.

Po vytvorení vlastností aplikácie DesignWidth a DesignHeight nebudete musieť (vo väčšine prípadov) meniť predvolené vzorce pre vlastnosti Šírka a Výška každej obrazovky. Neskôr táto téma pojednáva o prípadoch, v ktorých by ste mohli chcieť prispôsobiť tieto vzorce.

Použitie vzorcov pre dynamické rozloženie

Ak chcete vytvoriť responzívny dizajn, vyhľadajte a upravte veľkosť každého ovládacieho prvku pomocou vzorcov namiesto absolútnych (konštantných) súradnicových hodnôt. Tieto vzorce vyjadrujú polohu a veľkosť každého ovládacieho prvku z hľadiska celkovej veľkosti obrazovky alebo vo vzťahu k iným ovládacím prvkom na obrazovke.

Dôležité

Po napísaní vzorcov pre vlastnosti ovládacích prvkov X, Y, Šírka a Výška sa vaše vzorce prepíšu konštantnými hodnotami, ak ich následne pretiahnete do editora plátna. Keď začnete používať vzorce na dosiahnutie dynamického rozloženia, mali by ste sa vyhnúť presúvaniu ovládacích prvkov.

V najjednoduchšom prípade jeden ovládací prvok vyplní celú obrazovku. Ak chcete vytvoriť tento efekt, nastavte vlastnosti ovládacieho prvku na tieto hodnoty:

Vlastnosť Hodnota
X 0
Y 0
Šírka Parent.Width
Výška Parent.Height

Tieto vzorce používajú operátor Nadradený. Pre ovládanie umiestnené priamo na obrazovke odkazuje Nadradený na obrazovku. Pri týchto hodnotách vlastností sa ovládací prvok objaví v ľavom hornom rohu obrazovky (0, 0) a má rovnakú hodnotu Šírka a Výška ako obrazovka.

Neskôr v tejto téme budete tieto zásady (a operátor Nadradený) uplatňovať na umiestnenie ovládacích prvkov do iných kontajnerov, ako sú galérie, skupinové ovládacie prvky a komponenty.

Alternatívne môže ovládací prvok vyplniť iba hornú polovicu obrazovky. Ak chcete vytvoriť tento efekt, nastavte vlastnosť Výška na Parent.Height/2 a ostatné vzorce nechajte bezo zmeny.

Ak chcete, aby druhý ovládací prvok vyplnil dolnú polovicu tej istej obrazovky, môžete na zostavenie vzorcov použiť aspoň dva ďalšie prístupy. Kvôli jednoduchosti môžete použiť tento prístup:

Ovládací prvok Vlastnosť Vzorec
Upper X 0
Upper Y 0
Upper Šírka Parent.Width
Upper Výška Parent.Height / 2
Dolnolužická srbčina X 0
Dolnolužická srbčina Y Parent.Height / 2
Dolnolužická srbčina Šírka Parent.Width
Dolnolužická srbčina Výška Parent.Height / 2

Horný a dolný ovládací prvok.

Táto konfigurácia by dosiahla požadovaný účinok, ale ak ste zmenili názor na relatívnu veľkosť ovládacích prvkov, budete musieť upraviť každý vzorec. Napríklad by ste sa mohli rozhodnúť, že horný ovládací prvok by mal zaberať iba hornú jednu tretinu obrazovky, pričom spodný ovládací prvok by mal zaplniť dolné dve tretiny.

Ak chcete vytvoriť tento efekt, musíte aktualizovať vlastnosť Výška ovládacieho prvku Horný a vlastnosti Y a Výška ovládacieho prvku Dolný. Namiesto toho zvážte vypracovanie vzorcov pre ovládací prvok Dolný z hľadiska ovládacieho prvku Horný (a samotný), ako v tomto príklade:

Ovládací prvok Vlastnosť Vzorec
Upper X 0
Upper Y 0
Upper Šírka Parent.Width
Upper Výška Parent.Height / 3
Lower X 0
Lower Y Upper.Y + Upper.Height
Lower Šírka Parent.Width
Dolnolužická srbčina Výška Parent.Height - Lower.Y

Relatívna veľkosť ovládacích prvkov Horný a Dolný.

S týmito vzorcami stačí zmeniť iba vlastnosti Výška ovládacieho prvku Horný a vyjadriť iný podiel výšky obrazovky. Ovládací prvok Dolný sa automaticky presunie a zmení veľkosť, aby sa zohľadnila zmena.

Tieto vzory vzorcov môžete použiť na vyjadrenie bežných vzťahov rozloženia medzi ovládacím prvkom, menovite C, a jeho nadradeným alebo príbuzným ovládacím prvkom, menovite D.

Vzťah medzi C a jeho nadradeným prvkom Vlastnosť Vzorec Ilustrácia
C vypĺňa šírku nadradeného prvku s okrajom N X N Príklad C, ktorý vypĺňa šírku nadradeného prvku.
Šírka Parent.Width - (N * 2)
C vypĺňa výšku nadradeného prvku s okrajom N Y N Príklad C, ktorý vypĺňa výšku nadradeného prvku.
Výška Parent.Height - (N * 2)
C zarovnané s pravým rohom nadradeného prvku, s okrajom N X Parent.Width - (C.Width + N) Príklad zarovnania C s pravým okrajom nadradeného prvku.
C zarovnané s dolnom rohom nadradeného prvku, s okrajom N Y Parent.Height - (C.Height + N) Príklad zarovnania C so spodným okrajom nadradeného prvku.
C vycentrované vodorovne na nadradenom prvku X (Parent.Width - C.Width) / 2 Príklad C vycentrovaného vodorovne na nadradenom prvku.
C vycentrované zvisle na nadradenom prvku Y (Parent.Height - C.Height) / 2 Príklad C vycentrovaného zvisle na nadradenom prvku.
Vzťah medzi C a D Vlastnosť Vzorec Ilustrácia
C vodorovne zarovnané s D a rovnaká šírka ako D X D.X Príklad horizontálneho zarovnaného vzoru.
Šírka D.Width
C vertikálne zarovnané s D a rovnaká výška ako D Y D.Y Príklad zvislo zarovnaného vzoru.
Výška D.Height
Pravý okraj C zarovnaný s pravým okrajom D X D.X + D.Width - C.Width Príklad vzoru zarovnaného na pravý okraj.
Dolný okraj C zarovnaný s dolným okrajom D Y D.Y + D.Height - C.Height Príklad vzoru zarovnaného na spodný okraj.
C centrované vodorovne vzhľadom na D X D.X + (D.Width - C.Width) / 2 Príklad vycentrovaného vodorovného vzoru.
C centrované zvisle vzhľadom na D Y D.Y + (D.Height - C.Height) /2 Príklad vycentrovaného zvislého vzoru.
C umiestnené napravo od D s medzerou N X D.X + D.Width + N Príklad umiestnenia do správneho vzoru.
C umiestnené pod D s medzerou N Y D.Y + D.Height + N Príklad umiestneného pod vzorom.
C vypĺňa medzeru medzi D a pravým okrajom nadradeného prvku X D.X + D.Width Príklad vyplnenia medzery medzi vzorom D a pravým okrajom.
Šírka Parent.Width - C.X
C vypĺňa medzeru medzi D a dolným okrajom nadradeného prvku Y D.Y + D.Height Príklad vyplnenia medzery medzi vzorom D a spodným okrajom.
Výška Parent.Height - C.Y

Hierarchické rozloženie

Pri zostavovaní obrazoviek, ktoré obsahujú viac ovládacích prvkov, bude pohodlnejšie (alebo dokonca potrebné) umiestniť ovládacie prvky relatívne k rodičovskému ovládaciemu prvku, a nie relatívne k obrazovke alebo príbuznému ovládaciemu prvku. Usporiadaním ovládacích prvkov do hierarchickej štruktúry môžete ľahšie písať a udržiavať svoje formuláre.

Galérie

Ak v aplikácii používate galériu, budete musieť v šablóne galérie rozmiestniť ovládacie prvky. Tieto ovládacie prvky môžete umiestniť tak, že napíšete vzorce, ktoré používajú operátor Nadradený, ktorý bude odkazovať na šablónu galérie. Vo vzorcoch ovládacích prvkov v šablóne galérie použite vlastnosti Parent.TemplateHeight a Parent.TemplateWidth, nepoužívajte Parent.Width a Parent.Height, ktoré sa vzťahujú na celkovú veľkosť galérie.

Vertikálna galéria zobrazujúca šírku a výšku šablóny.

Ovládací prvok kontajnera

Môžete použiť ovládací prvok Kontajner rozloženia ako hlavný ovládací prvok.

Zoberme si príklad hlavičky v hornej časti obrazovky. Je bežné mať hlavičku s nadpisom a niekoľko ikon, s ktorými môžu vaši používatelia interagovať. Takúto hlavičku môžete vytvoriť pomocou ovládacieho prvku Kontajner, ktorý obsahuje ovládací prvok Štítok a dva ovládacie prvky Ikona:

Príklad hlavičky používajúcej skupinu.

Nastavte vlastnosti týchto ovládacích prvkov na tieto hodnoty:

Vlastnosť Záhlavie Ponuka Zatvoriť Názov
X 0 0 Parent.Width - Close.Width Menu.X + Menu.Width
Y 0 0 0 0
Šírka Parent.Width Parent.Height Parent.Height Close.X - Title.X
Výška 64 Parent.Height Parent.Height Parent.Height

Pre ovládací prvok Hlavička odkazuje Parent na obrazovku. Pre ostatné ovládacie prvky odkazuje Parent na ovládací prvok Hlavička.

Po napísaní týchto vzorcov môžete upraviť veľkosť alebo polohu ovládacieho prvku Hlavička zmenou vzorcov pre jeho vlastnosti. Veľkosti a polohy podradených ovládacích prvkov sa automaticky zodpovedajúcim spôsobom upravia.

Ovládacie prvky kontajnera s automatickým rozložením

Na automatické rozloženie podradených komponentov môžete použiť funkciu Automatické rozloženie kontajnera. Tieto kontajnery určujú polohu podradených komponentov, takže už nikdy nemusíte nastavovať X, Y pre komponent vo vnútri kontajnera. Môže tiež distribuovať dostupné miesto svojim podriadeným komponentom na základe nastavení a určiť vertikálne aj horizontálne zarovnanie podradených komponentov. Viac informácií: Ovládacie prvky kontajnera s automatickým rozložením

Súčasti

Ak používate inú funkciu s názvom Komponenty, môžete zostaviť stavebné bloky a opätovne ich použiť v celej aplikácii. Rovnako ako v prípade ovládacieho prvku Kontajner, ovládacie prvky, ktoré umiestnite do komponentu, by mali svoje vzorce na určovanie polohy a veľkosti zakladať na parametroch Parent.Width a Parent.Height, ktoré sa vzťahujú na veľkosť komponentu. Ďalšie informácie: Vytvorenie komponentu.

Prispôsobenie rozloženia pre veľkosť a orientáciu zariadenia

Doteraz ste sa naučili, ako používať vzorce na zmenu veľkosti každého ovládacieho prvku v závislosti od dostupného priestoru, zatiaľ čo ovládacie prvky sú voči sebe navzájom zarovnané. Možno však budete chcieť alebo potrebujete vykonať zásadnejšie zmeny rozloženia v reakcii na rôzne veľkosti a orientácie zariadení. Ak sa napríklad zariadenie otočí z orientácie na výšku na šírku, môžete napríklad zmeniť vertikálne rozloženie na horizontálne. Na väčšom zariadení môžete prezentovať viac obsahu alebo ho usporiadať tak, aby poskytoval atraktívnejšie rozloženie. Na menšom zariadení bude možno potrebné rozdeliť obsah na viacero obrazoviek.

Orientácia zariadenia

Predvolené vzorce pre vlastnosti Šírka a Výška obrazovky, ako v tejto téme uvedené vyššie, nemusia nutne poskytnúť dobré rozhranie, ak používateľ otočí zariadenie. Napríklad aplikácia určená pre telefón v orientácii na výšku má DesignWidth 640 a DesignHeight 1136. Rovnaká aplikácia na telefóne v orientácii na šírku bude mať tieto hodnoty vlastností:

  • Vlastnosť Šírka obrazovky je nastavená na Max(App.Width, App.DesignWidth). Vlastnosť Šírka (1136) aplikácie je väčšia ako DesignWidth (640), takže vzorec sa vyhodnotí ako 1136.
  • Vlastnosť Výška obrazovky je nastavená na Max(App.Height, App.DesignHeight). Vlastnosť Výška (640) aplikácie je menšia ako DesignHeight (1136), takže vzorec sa vyhodnotí ako 1136.

S parametrom Výška obrazovky = 1136 a výška zariadenia (v tejto orientácii) = 640 musí používateľ posúvať obrazovku zvisle, aby zobrazoval všetok svoj obsah, čo nemusí byť správaním, ktoré chcete.

Na prispôsobenie vlastností Šírka a Výška obrazovky orientácii zariadenia môžete použiť tieto vzorce:

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

Výška = Max(App.Height, If(App.Width < App.Height, App.DesignHeight, App.DesignWidth))

Tieto vzorce menia hodnoty DesignWidth a DesignHeight aplikácie na základe toho, či je šírka zariadenia menšia ako jeho výška (orientácia na výšku) alebo väčšia ako jeho výška (orientácia na šírku).

Po úprave vzorcov Šírka a Výška pre obrazovku môžete tiež zmeniť usporiadanie ovládacích prvkov na obrazovke, aby ste lepšie využili dostupné miesto. Napríklad, ak každý z dvoch ovládacích prvkov zaberá polovicu obrazovky, môžete ich naskladať vertikálne na výšku, ale usporiadať ich vedľa seba na šírku.

Môžete použiť vlastnosť obrazovky Orientácia na určenie, či je obrazovka orientovaná vertikálne alebo horizontálne.

Poznámka

V orientácii na šírku sa ovládacie prvky Horný a Dolný zobrazujú ako ľavé a pravé ovládacie prvky.

Ovládací prvok Vlastnosť Vzorec
Upper X 0
Upper Y 0
Upper Šírka If(Parent.Orientation = Layout.Vertical, Parent.Width, Parent.Width / 2)
Upper Výška 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 Šírka Parent.Width - Lower.X
Dolnolužická srbčina Výška Parent.Height - Lower.Y

výrazy na prispôsobenie orientácie na výšku.

výrazy na prispôsobenie orientácie na šírku.

Veľkosti obrazovky a body prerušenia

Rozloženie môžete upraviť na základe veľkosti zariadenia. Vlastnosť obrazovky Veľkosť klasifikuje aktuálnu veľkosť zariadenia. Veľkosť je kladné celé číslo; typ ScreenSize poskytuje pomenované konštanty na pomoc s čitateľnosťou. V tejto tabuľke sú uvedené konštanty:

Konštanta Hodnota Typický typ zariadenia (s použitím predvolených nastavení aplikácie)
ScreenSize.Small 1 Telefón
ScreenSize.Medium 2 Tablet, držaný zvisle
ScreenSize.Large 3 Tablet, držaný vodorovne
ScreenSize.ExtraLarge 4 Stolný počítač

Tieto veľkosti použite na rozhodovanie o rozložení vašej aplikácie. Napríklad, ak chcete, aby bol ovládací prvok skrytý na zariadení s veľkosťou telefónu, ale viditeľný inak, môžete vlastnosť ovládacieho prvku Viditeľný nastaviť podľa tohto vzorca:

Parent.Size >= ScreenSize.Medium

Tento vzorec vracia hodnotu pravda, ak je veľkosť stredná alebo väčšia a nepravda inak.

Ak chcete, aby ovládací prvok zaberal iný zlomok šírky obrazovky na základe veľkosti obrazovky, nastavte vlastnosť Šírka ovládacieho prvku podľa tohto vzorca:

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

Tento vzorec nastavuje šírku ovládacieho prvku na polovicu šírky obrazovky na malej obrazovke, tri desatiny šírky obrazovky na strednej obrazovke a štvrtinu šírky obrazovky na všetkých ostatných obrazovkách.

Vlastné body prerušenia

Vlastnosť obrazovky Veľkosť sa vypočíta porovnaním vlastnosti Šírka obrazovky na hodnoty vo vlastnosti SizeBreakpoints. Táto vlastnosť je tabuľka s jedným stĺpcom čísel, ktorá udáva šírku bodov prerušenia, ktoré oddeľujú pomenované veľkosti obrazovky:

V aplikácii vytvorenej pre tablet alebo web je predvolená hodnota vo vlastnosti aplikácie SizeBreakpoints [600, 900, 1200]. V aplikácii vytvorenej pre telefóny je táto hodnota [1200, 1800, 2400]. (Hodnoty pre aplikácie v telefóne sa zdvojnásobia, pretože takéto aplikácie používajú súradnice, ktoré sú skutočne dvojnásobné oproti súradniciam používaným v iných aplikáciách.)

predvolené hodnoty vlastnosti App.SizeBreakpoints.

Body prerušenia aplikácie môžete prispôsobiť zmenou hodnôt vlastnosti aplikácie SizeBreakpoints. Vyberte Aplikácia v stromovom prehľade, položku SizeBreakpoints v zozname vlastností a potom upravte hodnoty na riadku vzorcov. Môžete vytvoriť ľubovoľný počet bodov prerušenia, ako vaša aplikácia potrebuje, ale iba veľkosti 1 až 4 zodpovedajú menovaným veľkostiam obrazovky. Vo vzorcoch sa môžete odvolávať na veľkosti mimo ExtraLarge podľa ich číselných hodnôt (5, 6 atď.).

Môžete tiež určiť menej bodov prerušenia. Vaša aplikácia môže napríklad potrebovať iba tri veľkosti (dva body prerušenia), takže možné veľkosti obrazovky budú Malá, Stredná a Veľká.

Známe obmedzenia

Plátno na tvorbu obsahu nereaguje na vzorce zmeny veľkosti. Ak chcete otestovať responzívne správanie, uložte a publikujte svoju aplikáciu a potom ju otvorte na zariadeniach alebo v oknách prehliadača rôznych veľkostí a orientácií.

Ak píšete výrazy alebo vzorce do vlastností X, Y, Šírka a Výška ovládacieho prvku, tieto výrazy alebo vzorce prepíšete, ak ovládací prvok neskôr pretiahnete na iné miesto alebo zmeníte veľkosť ovládacieho prvku potiahnutím jeho okraja.

Poznámka

Môžete nás informovať o svojich voľbách jazyka pre dokumentáciu? Absolvujte krátky prieskum. (upozorňujeme, že tento prieskum je v angličtine)

Prieskum bude trvať približne sedem minút. Nezhromažďujú sa žiadne osobné údaje (vyhlásenie o používaní osobných údajov).