ProgressBar
Uživatelské rozhraní multiplatformních aplikací .NET (.NET MAUI) ProgressBar značí uživatelům, že aplikace prochází zdlouhavou aktivitou. Indikátor průběhu je vodorovný pruh, který je vyplněný procentuální hodnotou reprezentovanou double
hodnotou.
ProgressBar Vzhled platformy závisí na platformě a následující snímek obrazovky ukazuje na AndroiduProgressBar:
ProgressBar definuje dvě vlastnosti:
Progress
double
je hodnota, která představuje aktuální průběh jako hodnotu od 0 do 1.Progress
hodnoty menší než 0 budou uchycené na 0, hodnoty větší než 1 budou uchycené na 1. Výchozí hodnota této vlastnosti je 0.ProgressColor
Color je hodnota, která definuje barvu ProgressBar.
Tyto vlastnosti jsou podporovány BindableProperty objekty, což znamená, že mohou být cíle datových vazeb a stylovány.
ProgressBar definuje také metodu ProgressTo
, která animuje pruh z aktuální hodnoty na zadanou hodnotu. Další informace najdete v tématu Animace indikátoru průběhu.
Vytvoření indikátoru průběhu
Pokud chcete označit průběh zdlouhavou aktivitou, vytvořte ProgressBar objekt a nastavte jeho vlastnosti tak, aby definovaly jeho vzhled.
Následující příklad XAML ukazuje, jak zobrazit ProgressBar:
<ProgressBar Progress="0.5" />
Ekvivalentní kód jazyka C# je:
ProgressBar progressBar = new ProgressBar { Progress = 0.5 };
Upozorňující
Nepoužívejte nekontrénované vodorovné možnosti rozložení, jako Center
je , Start
nebo End
s ProgressBar. Ponechte výchozí HorizontalOptions
hodnotu Fill
.
Následující příklad XAML ukazuje, jak změnit barvu ProgressBar:
<ProgressBar Progress="0.5"
ProgressColor="Orange" />
Ekvivalentní kód jazyka C# je:
ProgressBar progressBar = new ProgressBar
{
Progress = 0.5,
ProgressColor = Colors.Orange
};
Animace indikátoru průběhu
Metoda ProgressTo
animuje ProgressBar z aktuální Progress
hodnoty na zadanou hodnotu v průběhu času. Metoda přijímá double
hodnotu průběhu, uint
dobu trvání v milisekundách, Easing hodnotu výčtu Task<bool>
a vrátí hodnotu . Následující příklad ukazuje, jak animovat ProgressBar:
// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);
Další informace o výčtu Easing naleznete v tématu Easing functions.