Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A WinUI számos gyönyörű effektust, animációt és eszközt biztosít a differenciáláshoz. A sikeres alkalmazások létrehozásának azonban továbbra is elengedhetetlen része a felhasználói elvárásoknak való megfelelés a teljesítmény és a testreszabhatóság szempontjából. A Windows App SDK-alkalmazások a Windows-eszközök és konfigurációk nagy, változatos családjában futtathatók, amelyek különböző funkciókkal és képességekkel rendelkeznek. Annak érdekében, hogy minden felhasználója számára befogadó élményt biztosíthasson, biztosítania kell, hogy az alkalmazások skálázhatók legyenek az eszközök között, és tiszteletben kell tartaniuk a felhasználói beállításokat. A felhasználói felület testreszabásával hatékonyan kihasználhatja az eszköz képességeit, és kellemes és befogadó felhasználói élményt biztosíthat.
A felhasználói felület testreszabása egy széles kategória, amely a performanszos, gyönyörű felhasználói felületi munkát foglalja magában a következő területek tekintetében:
- Effektusok felhasználói beállításainak tiszteletben tartása és módosítása
- Felhasználói beállítások beállítása animációkhoz
- Felhasználói felület optimalizálása az adott hardveres képességekhez
Az alábbiakban bemutatjuk, hogyan szabhatja testre az effektusait és animációit a fenti területeken a Visual Layer használatával, de számos más eszköz is létezik az alkalmazás testreszabására a nagyszerű végfelhasználói élmény biztosítása érdekében. Útmutató dokumentumok érhetők el a felhasználói felületi
Felhasználói effektusok beállításai
A felhasználók többféle okból is testre szabhatják Windows-élményüket, amelyekhez az alkalmazásoknak tiszteletben kell tartaniuk és alkalmazkodniuk kell. Az egyik terület végfelhasználói szabályozhatják, hogy milyen típusú effektusokat látnak a rendszerben.
Áttetszőségi effektusok beállításai
Az egyik ilyen effektusbeállítás, amelyet a felhasználók testre szabhatnak, az átláthatósági hatások be- és kikapcsolása. Ez megtalálható a Windows beállításai között a Személyre szabás > színei területen, vagy a Beállítások > könnyű elérésű > megjelenítésen keresztül.
áttetszőségi opció
Ha be van kapcsolva, az átlátszóságot használó bármely hatás a várt módon jelenik meg. Ez az Akrilra, a HostBackdropBrushra vagy bármely olyan egyéni effektusdiagramra vonatkozik, amely nem teljesen átlátszatlan.
Kikapcsolt állapotban az akril anyag automatikusan visszatér egyszínűre, mert a XAML-akril kefe alapértelmezés szerint észleli ezt az eseményt. Itt látható, hogy a számológép alkalmazás megfelelően visszatér egy egyszínű háttérre, ha az áttetszőségi effektusok nincsenek engedélyezve.
Az egyéni effektusok esetében azonban az alkalmazásnak válaszolnia kell a UISettings.AdvancedEffectsEnabled tulajdonságra vagy a AdvancedEffectsEnabledChanged eseményre, és az effektus/effektus gráfot át kell váltania olyan effektusra, amely nem áttetsző. Erre az alábbi példa látható:
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
}
Animációk beállításai
Hasonlóképpen, az alkalmazásoknak figyelnie kell és reagálnia kell a UISettings.AnimationsEnabled tulajdonságra, hogy az animációk be- vagy kikapcsolása a Beállítások > Könnyű kezelés > megjelenítés felhasználói beállításai alapján történjen.
public MainPage()
{
var uisettings = new UISettings();
bool animationsEnabled = uisettings.AnimationsEnabled;
// TODO respond to animations settings
}
A capabilities API kiaknázása
A CompositionCapabilities API-kkal érzékelheti, hogy mely kompozíciós funkciók érhetők el és teljesítenek jól adott hardveren, és ennek megfelelően alakíthatja a kialakítást, hogy a végfelhasználók bármilyen eszközön nagyszerű és szép élményt kapjanak. Az API-k lehetővé teszik a hardverrendszer képességeinek ellenőrzését annak érdekében, hogy kecses skálázást valósítsanak meg számos különböző formatényező között. Ez megkönnyíti az alkalmazás megfelelő testreszabását, hogy gyönyörű és zökkenőmentes végfelhasználói élményt hozzon létre.
Ez az API metódusokat és eseményfigyelőt biztosít, amelyekkel skálázási döntéseket hozhat az alkalmazás felhasználói felületén. A funkció észleli, hogy a rendszer mennyire képes kezelni az összetett összeállítási és renderelési műveleteket, majd egy könnyen felhasználható modellben adja vissza az információkat a fejlesztők számára.
Összeállítási képességek használata
A CompositionCapabilities funkció már használatban van olyan funkciókhoz, mint az Akril-anyag, ahol az anyag a forgatókönyvtől és a hardvertől függően sokkal teljesítményesebb hatást ér el.
Az API néhány egyszerű lépésben hozzáadható a meglévő kódhoz.
Szerezze be a képességobjektumot az alkalmazás konstruktorában.
_capabilities = new CompositionCapabilities();Regisztráljon egy képességekkel módosított eseményfigyelőt az alkalmazáshoz.
_capabilities.Changed += HandleCapabilitiesChanged;Adjon hozzá tartalmat az eseményvisszahívási módszerhez a különböző képességszintek kezeléséhez. Ez lehet, hogy nem hasonlít az alábbi lépéshez.
Effektusok használatakor először ellenőrizze a képességobjektumot. Érdemes lehet feltételes ellenőrzéseket vagy kapcsolóvezérlési utasításokat használni attól függően, hogy hogyan szeretné testre szabni a hatásokat.
if (_capabilities.AreEffectsSupported()) { // Add incremental effects updates here if (_capabilities.AreEffectsFast()) { // Add more advanced effects here where applicable } }
A teljes példakód a Windows felhasználói felületi GitHub-adattárban található.
Gyors és lassú effektusok
Az alkalmazás a CompositionCapabilities API-ban rendelkezésre álló AreEffectsSupported és AreEffectsFast módszerek által kapott visszajelzések alapján dönthet úgy, hogy drága vagy nem támogatott effektusokat cserél le az eszközre optimalizált más effektusokra. Egyes hatások köztudottan következetesen több erőforrást igényelnek, ezeket takarékosan kell használni, míg más hatások szabadabban használhatók. Azonban minden effektus esetében óvatosan kell eljárni a láncolás és animálás során, mivel bizonyos forgatókönyvek vagy kombinációk megváltoztathatják a hatásgráf teljesítményjellemzőit. Az alábbiakban néhány irányelv olvasható az egyes effektusok teljesítményjellemzőiről:
- Az ismerten nagy teljesítményű effektusok a következők: Gauss-elmosás, Árnyékmaszk, BackDropBrush, HostBackDropBrush és rétegvizualizáció. Ezek nem ajánlottak alacsony kategóriás eszközökhöz (9.1-9.3 funkcionalitási szint), és a csúcskategóriás eszközökön célszerű megfontoltan használni.
- A közepes teljesítményhatású effektusok közé tartozik a Színmátrix, bizonyos Blend Effect BlendModes (Világosság, Szín, Telítettség és Árnyalat), SpotLight, SceneLightingEffect és (forgatókönyvtől függően) BorderEffect. Ezek a hatások bizonyos forgatókönyvekben működhetnek alsókategóriás eszközökön, de a láncolásnál és animálásnál óvatosan kell eljárni. Javasoljuk, hogy a használatot kettőre vagy kevesebbre korlátozza, és csak az áttűnések során animáljon.
- Minden más hatásnak alacsony a teljesítményre gyakorolt hatása, és minden ésszerű forgatókönyvben működik az animálás és a láncolás során.
Kapcsolódó cikkek
Windows developer