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.
Ovládací AnimatedVisualPlayer prvek přehrává vektorové animace v aplikaci WinUI 3. Je navržený pro animace Lottie – vysoce kvalitní, škálovatelné animace vytvořené v Adobe After Effects nebo jiných aplikacích a exportované do formátu JSON.
Použijte AnimatedVisualPlayer, když potřebujete úplnou programátorskou kontrolu nad přehráváním: přehrávat, pozastavit, zastavit, přehrávat pozpátku, opakovat ve smyčce nebo přejít na konkrétní snímek. U animací svázaných se změnami stavu vizuálu (například efekty přechodu na tlačítka) použijte AnimatedIcon místo toho.
- Důležitá API: třída AnimatedVisualPlayer
Předpoklady
Pokud chcete používat animace Lottie s AnimatedVisualPlayer, potřebujete:
- Balíček NuGetLottie-Windows z komunitní sady nástrojů Windows
- Soubor JSON Lottie exportovaný z Adobe After Effects (nebo kompatibilního nástroje)
- Nástroj LottieGen pro převod souboru JSON na třídu C# nebo C++/WinRT
Nástroj LottieGen přebírá jako .json vstup soubor Lottie a generuje třídu, která implementuje IAnimatedVisualSource. Pak na tuto třídu v XAML odkazujete jako na zdroj animace.
Přidání animovaného vizuálního přehrávače
Umístěte kód AnimatedVisualPlayer XAML a nastavte jeho zdroj na vygenerovanou třídu Lottie:
<AnimatedVisualPlayer x:Name="Player" AutoPlay="False">
<animatedvisuals:LottieLogo1/>
</AnimatedVisualPlayer>
Kde animatedvisuals je jmenný prostor XML pro jmenný prostor obsahující vaši vygenerovanou třídu Lottie.
Nastavte AutoPlay="True" , pokud chcete, aby se animace spustila okamžitě, když se ovládací prvek načte.
Ovládání přehrávání
Použijte metody PlayAsync, Pause, Resume a Stop k ovládání animace:
// Play the animation forward
Player.PlaybackRate = 1;
await Player.PlayAsync(fromProgress: 0, toProgress: 1, looped: false);
// Pause and resume
Player.Pause();
Player.Resume();
// Stop and reset to the first frame
Player.Stop();
// Play in reverse
Player.PlaybackRate = -1;
await Player.PlayAsync(fromProgress: 1, toProgress: 0, looped: false);
Vlastnost PlaybackRate je živá – během přehrávání animace ji můžete změnit. Hodnota 1 přehrává normální rychlostí; -1 přehrává pozpátku.
Note
Volání Pause nedokončí úlohu PlayAsync. Zavolejte Stop, chcete-li to dokončit a resetovat do počátečního snímku.
Opakovat animaci
Pokud chcete přehrát animaci v souvislé smyčce, nastavte looped parametr na PlayAsynctrue:
await Player.PlayAsync(fromProgress: 0, toProgress: 1, looped: true);
Je to správná kontrola?
Použijte AnimatedVisualPlayer , když potřebujete:
- Úplné řízení přehrávání animací (přehrávání, pozastavení, zastavení, obrácení, hledání)
- Opakující se animace, které běží nezávisle na stavu ovládacího prvku
- Animace, které se přehrávají jednou v reakci na jednorázovou událost
Místo toho použijte AnimatedIcon :
- Animace reaguje na přechody vizuálního stavu (najetí myší, stisknutí, fokus)
- Přidáváte ikonu do ovládacího prvku, který přijímá
IconElementneboIconElementSource.
Otevření galerie WinUI 3
![]()
Aplikace Galerie WinUI 3 obsahuje interaktivní příklady ovládacích prvků a funkcí WinUI. Získejte aplikaci z Microsoft Store nebo vyhledejte zdrojový kód na GitHub.
Související články
Windows developer