Sdílet prostřednictvím


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:

Screenshot of ProgressBar on Android.

ProgressBar definuje dvě vlastnosti:

  • Progressdouble 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.
  • ProgressColorColor 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 Centerje , Startnebo 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.