Sdílet prostřednictvím


Vytváření přizpůsobivých rozložení v aplikacích plátna

Než vytvoříte aplikaci plátna v Power Apps, určíte, zda chcete aplikaci přizpůsobit pro telefon nebo tablet. Tato volba určuje velikost a tvar plátna, na kterém budete aplikaci stavět.

Po provedení této volby můžete provést několik dalších voleb, pokud vyberete Nastavení > Zobrazit. Můžete si vybrat orientaci na výšku nebo na šířku a velikost obrazovky (pouze tablet). Můžete také zamknout nebo odemknout poměr stran a otáčení podpůrného zařízení (nebo ne).

Tyto volby jsou základem každé další volby, kterou provedete při návrhu rozvržení obrazovky. Pokud je aplikace spuštěna na zařízení jiné velikosti nebo na webu, celé rozložení se přizpůsobí obrazovce, na které je aplikace spuštěna. Pokud například aplikace určená pro telefon běží ve velkém okně prohlížeče, aplikace se přizpůsobí tak, aby prostor kompenzovala a vypadala, že má nadměrnou velikost. Aplikace nemůže využít dalších pixelů zobrazením více ovládacích prvků nebo více obsahu.

Pokud vytvoříte responzivní rozvržení, mohou ovládací prvky reagovat na různá zařízení nebo velikosti oken tak, že různá prostředí budou přirozenější. Chcete-li dosáhnout přizpůsobivého rozložení, upravte některá nastavení a zapisujte výrazy v rámci aplikace.

Zakázat Přizpůsobení

Každou obrazovku můžete nakonfigurovat tak, aby se její rozložení přizpůsobilo skutečnému prostoru, ve kterém je aplikace spuštěna.

Reaktivitu aktivujete vypnutím nastavení Přizpůsobit měřítku aplikace, které je ve výchozím nastavení zapnuto. Když toto nastavení vypnete, vypnete také Poměr stran zámku, protože již neplánujete konkrétní tvar obrazovky. (Stále můžete určit, zda vaše aplikace podporuje střídání zařízení.)

Zakázat nastavení Přizpůsobit měřítku.

Chcete-li, aby aplikace reagovala, musíte podniknout další kroky, ale tato změna je prvním krokem k tomu, aby bylo možné reagovat.

Vysvětlení rozměrů aplikace a obrazovky

Aby rozložení vaší aplikace reagovalo na změny v rozměrech obrazovky, napíšete vzorce, které používají vlastnosti Šířka a Výška obrazovky. Chcete-li tyto vlastnosti zobrazit, otevřete aplikaci v Power Apps Studio a poté vyberte obrazovku. Výchozí vzorce pro tyto vlastnosti se objeví na kartě Upřesnit v pravém podokně.

Šířka = Max(App.Width, App.DesignWidth)

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

Tyto vzorce odkazují na vlastnosti Width, Height, DesignWidth a DesignHeight aplikace. Vlastnosti Width a Height aplikace odpovídají rozměrům zařízení nebo okna prohlížeče, ve kterém je aplikace spuštěna. Pokud uživatel změní velikost okna prohlížeče (nebo otočí zařízení, pokud jste jej vypnuli možnost Orientace zámku), hodnoty těchto vlastností se dynamicky mění. Vzorce vlastností Width a Height obrazovky se při změně těchto hodnot přecení.

Vlastnosti DesignWidth a DesignHeight pocházejí z dimenzí, které určíte v podokně Zobrazení v Nastavení. Pokud například vyberete rozložení telefonu v orientaci na výšku, DesignWidth je 640, a DesignHeight je 1136.

Vzhledem k tomu, že se používají ve vzorcích pro vlastnosti Width a Height obrazovky, můžete považovat DesignWidth a DesignHeight za minimální rozměry, pro které aplikaci navrhnete. Pokud je skutečná plocha dostupná pro vaši aplikaci ještě menší než tyto minimální rozměry, vzorce pro vlastnosti Width a Height zajišťují, že jejich hodnoty nebudou menší než minimální hodnoty. V takovém případě musí uživatel posouvat zobrazení veškerého obsahu obrazovky.

Po vytvoření vlastností DesignWidth a DesignHeight nebudete (ve většině případů) muset měnit výchozí vzorce pro vlastnosti Width a Height každé z obrazovek. Později toto téma pojednává o případech, ve kterých byste mohli chtít upravit tyto vzorce.

Použití vzorců pro dynamické rozložení

Chcete-li vytvořit responzivní návrh, vyhledejte a nastavte velikost každého ovládacího prvku pomocí vzorců namísto absolutních (konstantních) hodnot souřadnic. Tyto vzorce vyjadřují polohu a velikost každého ovládacího prvku z hlediska celkové velikosti obrazovky nebo vzhledem k jiným ovládacím prvkům na obrazovce.

Důležité

Po zapsání vzorců pro vlastnosti X, Y, Width a Height ovládacího prvku budou tyto vzorce přepsány konstantními hodnotami, jestliže následně přetáhnete ovládací prvek v editoru plátna. Když začnete používat vzorce k dosažení dynamického rozvržení, neměli byste přetahovat ovládací prvky.

V nejjednodušším případě vyplní jeden ovládací prvek celou obrazovku. Chcete-li tento efekt vytvořit, nastavte vlastnosti ovládacího prvku na tyto hodnoty:

Vlastnost Hodnota
X 0
Y 0
Šířka Parent.Width
Výška Parent.Height

Tyto vzorce používají nadřazený operátor. U ovládacího prvku umístěného přímo na obrazovce odkazuje hodnota nadřazený na obrazovku. S těmito hodnotami vlastností se ovládací prvek objeví v levém horním rohu obrazovky (0, 0) a má stejné vlastnosti Šířka a Výška jako na obrazovce.

Dále v tomto tématu použijete tyto zásady (a nadřazený operátor) k umístění ovládacích prvků do jiných kontejnerů, jako jsou galerie, ovládací prvky skupiny a součásti.

Alternativně může ovládací prvek vyplnit pouze horní polovinu obrazovky. Chcete-li tento efekt vytvořit, nastavte vlastnost Height na Parent.Height / 2 a ostatní vzorce nechte beze změny.

Pokud chcete, aby druhý ovládací prvek vyplnil dolní polovinu stejné obrazovky, můžete při sestavování vzorců použít alespoň dva další přístupy. Pro jednoduchost můžete použít tento přístup:

Control Vlastnost Vzorec
Upper X 0
Upper Y 0
Upper Šířka Parent.Width
Upper Výška Parent.Height / 2
Dolnolužická srbština X 0
Dolnolužická srbština Y Parent.Height / 2
Dolnolužická srbština Šířka Parent.Width
Dolnolužická srbština Výška Parent.Height / 2

Ovládací prvek Upper a Lower.

Tato konfigurace by dosáhla požadovaného účinku, ale pokud byste změnili názor na relativní velikost ovládacích prvků, musíte upravit každý vzorec. Můžete se například rozhodnout, že horní ovládací prvek by měl zabírat pouze horní třetinu obrazovky, přičemž dolní ovládací prvek zaplňuje spodní dvě třetiny.

Pro vytvoření tohoto efektu je nutné aktualizovat vlastnost Height ovládacího prvku Upper a vlastnosti Y a Height ovládacího prvku Lower. Místo toho zvažte zápis vzorců pro ovládací prvek Lower z hlediska ovládacího prvku Upper a tohoto prvku jako takového jako v tomto příkladu:

Control Vlastnost Vzorec
Upper X 0
Upper Y 0
Upper Šířka Parent.Width
Upper Výška Parent.Height / 3
Lower X 0
Lower Y Upper.Y + Upper.Height
Lower Šířka Parent.Width
Dolnolužická srbština Výška Parent.Height - Lower.Y

Nastavení relativní velikosti ovládacího prvku Upper a Lower.

Při použití těchto vzorců stačí změnit pouze vlastnost Height ovládacího prvku Upper pro vyjádření jiného zlomku výšky obrazovky. Ovládací prvek Lower se automaticky přesune a změní velikost, aby zohlednil tuto změnu.

Tyto vzory vzorců můžete použít k vyjádření vztahů společného rozložení mezi ovládacím prvkem pojmenovaným C a jeho nadřazeného nebo sourozeneckého ovládacího prvku s názvem D.

Vztah mezi C a jeho nadřazeným prvkem Vlastnost Vzorec Ilustrace
C vyplňuje šířku nadřazeného objektu s okrajem N X N Příklad šířky výplně C nadřazeného prvku.
Šířka Parent.Width - (N * 2)
C vyplňuje výšku nadřazeného objektu s okrajem N Y N Příklad výšky výplně C nadřazeného prvku.
Výška Parent.Height - (N * 2)
C zarovnané s pravým okrajem nadřazeného objektu, s okrajem N X Parent.Width - (C.Width + N) Příklad zarovnání C s pravým okrajem nadřazeného objektu.
C zarovnané s dolním okrajem nadřazeného objektu, s okrajem N Y Parent.Height - (C.Height + N) Příklad zarovnání C s dolním okrajem nadřazeného objektu.
C vycentrovaný vodorovně v nadřazeném objektu X (Parent.Width - C.Width) / 2 Příklad C vycentrovaného vodorovně v nadřazeném objektu.
C vycentrovaný svisle v nadřazeném objektu Y (Parent.Height - C.Height) / 2 Příklad C vycentrovaného svisle v nadřazeném objektu.
Vztah mezi C a D Vlastnost Vzorec Ilustrace
C zarovnaný vodorovně s D a stejnou šířkou jako D X D.X Příklad vzoru vodorovného zarovnání.
Šířka D.Width
C zarovnaný svisle s D a stejnou výškou jako D Y D.Y Příklad vzoru vertikálního zarovnání.
Výška D.Height
Pravý okraj C zarovnané s pravým okrajem D X D.X + D.Width - C.Width Příklad vzoru zarovnání k pravému okraji.
Dolní okraj C zarovnané s dolním okrajem D Y D.Y + D.Height - C.Height Příklad vzoru zarovnání k dolnímu okraji.
C vycentrovaný vodorovně ve vztahu k D X D.X + (D.Width - C.Width) / 2 Příklad vzoru vodorovného vycentrování.
C vycentrovaný svisle ve vztahu k D Y D.Y + (D.Height - C.Height) /2 Příklad vzoru svislého vycentrování.
C umístěný vpravo od D s mezerou N X D.X + D.Width + N Příklad vzoru umístění doprava.
C umístěný pod D s mezerou N Y D.Y + D.Height + N Příklad vzoru umístění pod.
C vyplňuje prostor mezi D a pravým okrajem nadřazeného objektu X D.X + D.Width Příklad vzoru vyplnění prostoru mezi D a pravým okrajem.
Šířka Parent.Width - C.X
C vyplňuje prostor mezi D a dolním okrajem nadřazeného objektu Y D.Y + D.Height Příklad vzoru vyplnění prostoru mezi D a spodním okrajem.
Výška Parent.Height - C.Y

Hierarchické rozložení

Při vytváření obrazovek, které obsahují více ovládacích prvků, bude pohodlnější (nebo dokonce nutné) umisťovat ovládací prvky vzhledem k nadřazenému ovládacímu prvku, spíše než vzhledem k ovládacímu prvku obrazovky nebo sourozeneckému ovládacímu prvku. Uspořádáním ovládacích prvků do hierarchické struktury můžete usnadnit zápis a udržování vzorců.

Galerie

Pokud v aplikaci používáte galerii, budete muset nastavit rozvržení ovládacích prvků v šabloně galerie. Tyto ovládací prvky můžete umístit zapsáním vzorců, které používají operátor Parent, který se bude odkazovat na šablonu galerie. Ve vzorcích ovládacích prvků v rámci šablony galerie použijte vlastnosti Parent.TemplateHeight a Parent.TemplateWidth; nepoužívejte Parent.Width a Parent.Height, které odkazují na celkovou velikost galerie.

Vertikální galerie zobrazující šířku a výšku šablony.

Ovládací prvek Kontejner

Ovládací prvek Layout container můžete použít jako nadřízený ovládací prvek.

Vezměme si příklad záhlaví v horní části obrazovky. Je běžné mít záhlaví s názvem a několika ikonami, se kterými mohou uživatelé interagovat. Takové záhlaví můžete vytvořit pomocí ovládacího prvku Kontejner, který obsahuje ovládací prvek Popisek a dva ovládací prvky Ikona:

Příklad záhlaví používajícího skupinu.

Nastavte vlastnosti těchto ovládacích prvků na tyto hodnoty:

Vlastnost Záhlaví Nabídka Uzavřeno Nadpis
X 0 0 Parent.Width - Close.Width Menu.X + Menu.Width
Y 0 0 0 0
Šířka Parent.Width Parent.Height Parent.Height Close.X - Title.X
Výška 64 Parent.Height Parent.Height Parent.Height

Pro ovládací prvek záhlaví odkazuje Parent na obrazovku. Pro ostatní odkazuje Parent na ovládací prvek Záhlaví.

Po napsání těchto vzorců můžete upravit velikost nebo polohu ovládacího prvku Záhlaví změnou vzorců pro jeho vlastnosti. Velikost a pozice podřízených ovládacích prvků se automaticky přizpůsobí.

Ovládací prvky kontejneru s automatickým rozložením

Můžete použít funkci v podobě ovládacích prvků kontejneru s automatickým rozložením pro automatické rozložení podřízených komponent. Tyto kontejnery určují polohu podřízených komponent, takže nikdy nemusíte nastavovat X, Y pro komponentu uvnitř kontejneru. Může také distribuovat dostupné místo do svých podřízených komponent na základě nastavení a také určit vertikální a horizontální zarovnání podřízených komponent. Více informací: Ovládací prvky kontejneru s automatickým rozložením

Komponenty

Pokud používáte jinou funkci s názvem Součásti, můžete sestavit stavební bloky a znovu je použít v celé aplikaci. Stejně jako u ovládacího prvku Kontejner by ovládací prvky, které umístíte do komponenty, měly odvozovat své vzorce pro polohu a velikost na vlastnostech Parent.Width a Parent.Height, které odkazují na velikost součásti. Další informace: Vytvoření součásti.

Přizpůsobení rozložení pro velikost a orientaci zařízení

Dosud jste se naučili, jak pomocí vzorců změnit velikost každého ovládacího prvku v závislosti na dostupném prostoru, a přitom udržet ovládací prvky ve vzájemném vztahu. Možná však budete chtít nebo potřebovat provést podstatnější změny rozložení v reakci na různé velikosti a orientace zařízení. Pokud se například zařízení otočí z orientace na výšku do orientace na šířku, možná budete chtít přepnout z vertikálního rozvržení na vodorovné. Na větším zařízení můžete prezentovat více obsahu nebo změnit jeho uspořádání tak, aby poskytovalo přitažlivější rozložení. Na menším zařízení bude pravděpodobně nutné rozdělit obsah na více obrazovek.

Orientace zařízení

Výchozí vzorce pro vlastnosti Width a Height, jak bylo popsáno v tomto tématu dříve, nemusí nutně poskytovat dobré prostředí v případ,ě že uživatel zařízení otočí. Například aplikace určená pro telefon v orientaci na výšku má DesignWidth 640 a DesignHeight 1136. Stejná aplikace na telefonu v orientaci na šířku bude mít tyto hodnoty vlastností:

  • Vlastnost Width obrazovky je nastavena na Max(App.Width, App.DesignWidth). Width aplikace (1136) je větší než DesignWidth (640), takže vzorec se hodnotí na 1136.
  • Vlastnost Height obrazovky je nastavena na Max(App.Height, App.DesignHeight). Height aplikace (640) je menší než DesignHeight (1136), takže vzorec se hodnotí na 1136.

S vlastností Height 1136 a výškou zařízení (v této orientaci) 640 musí uživatel procházet obrazovku svisle, aby ukazovala veškerý obsah, což nemusí být prostředí, které požadujete.

Pro přizpůsobení vlastností Width a Height orientaci zařízení můžete použít tyto vzorce.

Šířka = 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))

Tyto vzorce přehodí hodnoty DesignWidth a DesignHeight na základě toho, zda je šířka zařízení menší než jeho výška (orientace na výšku) nebo větší než jeho výška (orientace na šířku).

Po úpravě vzorců Width a Height můžete chtít také změnit uspořádání ovládacích prvků na obrazovce, abyste mohli lépe využít dostupný prostor. Pokud například každý ze dvou ovládacích prvků zabírá polovinu obrazovky, můžete je naskládat svisle na výšku, ale uspořádat je vedle sebe na šířku.

Můžete použít vlastnost Orientation k určení, zda je obrazovka orientována svisle nebo vodorovně.

Poznámka

V orientaci Upper a Lower se ovládací prvky zobrazují jako levé a pravé ovládací prvky.

Control Vlastnost Vzorec
Upper X 0
Upper Y 0
Upper Šířka 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 Šířka Parent.Width - Lower.X
Dolnolužická srbština Výška Parent.Height - Lower.Y

výrazy pro úpravu orientace na výšku.

výrazy pro úpravu orientace na šířku.

Velikosti obrazovky a zarážky

Rozložení můžete upravit podle velikosti zařízení. Vlastnost Size obrazovky klasifikuje aktuální velikost zařízení. Velikost je kladné celé číslo; typ ScreenSize poskytuje pojmenované konstanty, které pomáhají čitelnosti. Tato tabulka uvádí konstanty:

Konstanta Hodnota Typický typ zařízení (pomocí výchozího nastavení aplikace)
ScreenSize.Small 1 Telefon
ScreenSize.Medium 2 Tablet, držený svisle
ScreenSize.Large 3 Tablet, držený vodorovně
ScreenSize.ExtraLarge 4 Stolní počítač

Pomocí těchto velikostí můžete rozhodovat o rozložení aplikace. Například pokud chcete, aby byl ovládací prvek skryt na zařízení velikosti telefonu, ale jinak viditelný, můžete nastavit vlastnost Visible ovládacího prvku podle tohoto vzorce:

Parent.Size >= ScreenSize.Medium

Tento vzorec se vyhodnotí na hodnotu true, když je velikost střední nebo větší, a jinak na hodnotu false.

Pokud chcete, aby ovládací prvek zabíral jinou část šířky obrazovky na základě velikosti obrazovky, nastavte vlastnost Width ovládacího prvku podle tohoto vzorce:

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

Tento vzorec nastaví šířku ovládacího prvku na polovinu šířky malé obrazovky, tři desetiny šířky obrazovky na střední obrazovce a čtvrtinu šířky obrazovky na všech ostatních obrazovkách.

Vlastní zarážky

Vlastnost Size obrazovky se vypočítává porovnáním vlastnosti Width obrazovky s hodnotami vlastnosti SizeBreakpoints obrazovky. Tato vlastnost je tabulka s jedním sloupcem čísel, která označuje zarážky šířky oddělující pojmenované velikosti obrazovky:

V aplikaci vytvořené pro tablet nebo web je výchozí hodnota vlastnosti SizeBreakpoints [600, 900, 1200]. V aplikaci vytvořené pro telefony je tato hodnota [1200, 1800, 2400]. (Hodnoty pro telefonní aplikace se zdvojnásobí, protože takové aplikace používají souřadnice, které ve skutečnosti zdvojnásobí souřadnice používané v jiných aplikacích.)

výchozí hodnoty vlastnosti App.SizeBreakpoints.

Zarážky aplikace můžete upravit změnou hodnot ve vlastnosti SizeBreakpoint aplikace. Ve stromovém zobrazení vyberte App, v seznamu vlastností vyberte SizeBreakpoints a na panelu vzorců upravte hodnoty. Můžete vytvořit tolik bodů, kolik potřebuje aplikace, ale jmenovitým velikostem obrazovky odpovídají pouze velikosti 1 až 4. Ve vzorcích můžete odkazovat na velikosti mimo ExtraLarge podle jejich číselných hodnot (5, 6 atd.).

Můžete také zadat méně bodů přerušení. Například vaše aplikace může potřebovat pouze tři velikosti (dvě zarážky), takže možné velikosti obrazovky budou malé, střední a velké.

Známá omezení

Plátno pro vytváření nereaguje na vytvořené vzorce nastavení velikosti. Chcete-li vyzkoušet citlivé chování, uložte a publikujte aplikaci a poté ji otevřete na zařízeních nebo v oknech prohlížeče různých velikostí a orientací.

Pokud zapisujete výrazy nebo vzorce do vlastností X, Y, Width a Height ovládacího prvku, přepíšete tyto výrazy nebo vzorce, jestliže později přetáhnete ovládací prvek na jiné místo nebo změníte velikost jeho ovládacího prvku přetažením jeho ohraničení.

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).