Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Uživatelské rozhraní Windows poskytuje mnoho krásných efektů, animací a prostředků pro rozlišení. Splnění očekávání uživatelů pro výkon a přizpůsobení je ale stále nezbytnou součástí vytváření úspěšných aplikací. Univerzální platforma Windows podporuje velkou a různorodou řadu zařízení, která mají různé funkce a možnosti. Abyste všem uživatelům zajistili inkluzivní prostředí, musíte zajistit, aby se vaše aplikace škálovaly napříč zařízeními a respektovaly uživatelské předvolby. Přizpůsobení uživatelského rozhraní může poskytnout efektivní způsob, jak využívat možnosti zařízení a zajistit příjemné a inkluzivní uživatelské prostředí.
Přizpůsobení uživatelského rozhraní je široká kategorie zahrnující práci pro výkonné a krásné uživatelské rozhraní s ohledem na následující oblasti:
- Respektování a přizpůsobení uživatelským nastavením efektů
- Přizpůsobení uživatelských nastavení pro animace
- Optimalizace uživatelského rozhraní pro dané hardwarové funkce
Tady se podíváme, jak přizpůsobit vaše efekty a animace pomocí vizuální vrstvy v oblastech výše, ale existuje mnoho dalších způsobů, jak přizpůsobit aplikaci, aby se zajistilo skvělé uživatelské prostředí. Doprovodné materiály jsou k dispozici, jak přizpůsobit uživatelské pro různá zařízení a vytvářet responzivní uživatelské rozhraní.
Nastavení uživatelských efektů
Uživatelé si můžou přizpůsobit prostředí Windows z různých důvodů, které aplikace by měly respektovat a přizpůsobovat. Jednou z oblastí, kterou můžou koncoví uživatelé řídit, je změna typů efektů, které vidí v celém systému.
Nastavení efektů průhlednosti
Jedním z takových efektů, které uživatelé můžou přizpůsobit, je zapnutí nebo vypnutí efektů průhlednosti. Najdete ho v nastavení windows v části Barvy přizpůsobení > nebo prostřednictvím zobrazení Usnadnění přístupu > nastavení>.
Po zapnutí se jakýkoli efekt, který používá průhlednost, zobrazí podle očekávání. To platí pro akryl, HostBackdropBrush nebo jakýkoli vlastní graf efektu, který není zcela neprůhledný.
Při vypnutí se akrylový materiál automaticky vrátí k plné barvě, protože akrylový štětec XAML ve výchozím nastavení naslouchal této události. Zde vidíme, že aplikace kalkulačky při vypnutých efektech průhlednosti vhodně přejde na jednolitou barvu.
Pro všechny vlastní efekty potřebuje aplikace reagovat na vlastnost UISettings.AdvancedEffectsEnabled nebo na událost AdvancedEffectsEnabledChanged a přepnout efekt nebo efektový graf na použití efektu, který nemá průhlednost. Příklad je následující:
public MainPage()
{
var uisettings = new UISettings();
bool advancedEffects = uisettings.AdvancedEffectsEnabled;
uisettings.AdvancedEffectsEnabledChanged += Uisettings_AdvancedEffectsEnabledChanged;
}
private void Uisettings_AdvancedEffectsEnabledChanged(UISettings sender, object args)
{
// TODO respond to sender.AdvancedEffectsEnabled
}
Nastavení animací
Podobně by aplikace měly naslouchat vlastnosti UISettings.AnimationsEnabled, aby se zajistilo, že jsou animace zapnuté nebo vypnuté na základě uživatelského nastavení v Nastavení > Usnadnění přístupu > Zobrazení.
public MainPage()
{
var uisettings = new UISettings();
bool animationsEnabled = uisettings.AnimationsEnabled;
// TODO respond to animations settings
}
Využití schopností rozhraní API
Pomocí rozhraní API CompositionCapabilities můžete zjistit, které funkce kompozice jsou dostupné a efektivní na daném hardwaru, a přizpůsobit design tak, aby koncoví uživatelé získali efektivní a esteticky příjemný zážitek na jakémkoli zařízení. Rozhraní API poskytují způsob, jak zkontrolovat možnosti hardwarového systému, aby bylo možné implementovat řádné škálování efektu napříč různými formovými faktory. To usnadňuje vhodné přizpůsobení aplikace pro vytvoření krásného a bezproblémového prostředí koncového uživatele.
Toto rozhraní API poskytuje metody a posluchač událostí, které lze použít k činění rozhodnutí o škálování uživatelského rozhraní aplikace. Tato funkce zjistí, jak dobře dokáže systém zvládnout složité operace složení a vykreslování, a pak vrátí informace v snadno použitelném modelu, který můžou vývojáři využívat.
Použití schopností pro kompozici
Funkce CompositionCapabilities se již využívá pro funkce, jako je akrylový materiál, kde se materiál v závislosti na scénáři a hardwaru vrátí zpět k výkonnějšímu efektu.
Rozhraní API je možné přidat do existujícího kódu v několika jednoduchých krocích.
Získejte objekt schopností v konstruktoru vaší aplikace.
_capabilities = CompositionCapabilities.GetForCurrentView();Zaregistrujte pro svou aplikaci funkce změněného naslouchacího procesu událostí.
_capabilities.Changed += HandleCapabilitiesChanged;Přidejte obsah do metody zpětného volání události pro zpracování různých úrovní schopností. To se může nebo nemusí podobat dalšímu kroku níže.
Při použití efektů nejprve zkontrolujte objekt schopností. V závislosti na tom, jak chcete efekty přizpůsobit, zvažte použití podmíněných kontrol nebo příkazů ovládacích prvků přepínače.
if (_capabilities.AreEffectsSupported()) { // Add incremental effects updates here if (_capabilities.AreEffectsFast()) { // Add more advanced effects here where applicable } }
Úplný ukázkový kód najdete v úložišti GitHub uživatelského rozhraní Windows .
Rychlé vs. pomalé účinky
Na základě zpětné vazby z metod AreEffectsSupported a AreEffectsFast v rozhraní API CompositionCapabilities se aplikace může rozhodnout nahradit nákladné nebo nepodporované efekty jinými efekty, které jsou optimalizované pro zařízení. Některé účinky jsou známé, že konzistentně jsou náročnější na prostředky než jiné a měly by se používat střídmě a další účinky lze použít volněji. Pro všechny efekty je však při řetězení a animaci třeba postupovat opatrně, jelikož některé scénáře nebo kombinace mohou měnit výkonnostní charakteristiky grafu efektů. Níže jsou uvedeny určité orientační charakteristiky výkonu pro jednotlivé efekty:
- Efekty, o kterých je známo, že mají vysoký dopad na výkon, jsou následující – Gaussian Blur, Shadow Mask, BackDropBrush, HostBackDropBrush a Layer Visual. Nedoporučují se pro zařízení s nižšími parametry (úroveň funkcí 9.1–9.3)a měly by se používat uvážlivě na zařízeních vysoké třídy.
- Mezi efekty se středním dopadem na výkon patří Color Matrix, některé Blend Effect BlendModes (Luminosity, Color, Saturation a Hue), SpotLight, SceneLightingEffect a (v závislosti na scénáři) BorderEffect. Tyto efekty můžou fungovat s určitými scénáři na zařízeních s nízkým výkonem, ale při jejich řetězení a animaci je třeba dbát opatrnosti. Doporučujeme omezit použití pouze na dvě nebo méně a animovat pouze přechody.
- Všechny ostatní účinky mají nízký dopad na výkon a fungují ve všech rozumných scénářích při animování a řetězení.