Sdílet prostřednictvím


Xamarin.Forms ProgressBar

Ovládací Xamarin.FormsProgressBar prvek vizuálně představuje průběh jako vodorovný pruh, který je vyplněný procentem float reprezentovaným hodnotou. Třída ProgressBar dědí z View.

Následující snímky obrazovky ukazují na iOSu a Androidu ProgressBar :

Snímek obrazovky ProgressBar v iOSu a Androidu

Ovládací ProgressBar prvek definuje dvě vlastnosti:

  • Progressfloat 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.
  • ProgressColor je barva Color vnitřního pruhu, která představuje aktuální průběh.

Tyto vlastnosti jsou podporovány BindableProperty objekty, což znamená, že ProgressBar lze stylovat a být cílem datových vazeb.

Ovládací ProgressBar prvek také definuje metodu ProgressTo , která animuje pruh z aktuální hodnoty na zadanou hodnotu. Další informace najdete v tématu Animace indikátoru průběhu.

Poznámka:

Akceptuje ProgressBar manipulaci s uživateli, takže se při výběru ovládacích prvků pomocí klávesy Tab přeskočí.

Vytvoření indikátoru průběhu

V ProgressBar XAML je možné vytvořit instanci. Jeho Progress vlastnost určuje procento výplně vnitřního barevného pruhu. Výchozí Progress hodnota vlastnosti je 0. Následující příklad ukazuje, jak vytvořit instanci ProgressBar v XAML s volitelnou Progress sadou vlastností:

<ProgressBar Progress="0.5" />

V kódu lze také vytvořit A ProgressBar :

ProgressBar progressBar = new ProgressBar { Progress = 0.5f };

Upozorňující

Nepoužívejte nekontrénované vodorovné možnosti rozložení, jako Centerje , Startnebo End s ProgressBar. V UPW se ProgressBar sbalí na pruh nulové šířky. Ponechte výchozí HorizontalOptions hodnotu Fill a nepoužívejte šířku Auto při vkládání ProgressBar do Grid rozložení.

Vlastnosti vzhledu ProgressBar

Vlastnost ProgressColor definuje vnitřní barvu pruhu Progress , pokud je vlastnost větší než nula. Následující příklad ukazuje, jak vytvořit instanci ProgressBar v XAML se ProgressColor sadou vlastností:

<ProgressBar ProgressColor="Orange" />

Vlastnost ProgressColor lze také nastavit při vytváření ProgressBar kódu:

ProgressBar progressBar = new ProgressBar { ProgressColor = Color.Orange };

Následující snímky obrazovky ukazují ProgressBar vlastnost s vlastností nastavenou ProgressColor na Color.Orange iOS a Android:

Snímek obrazovky se stylem ProgressBar v iOSu a Androidu

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á float hodnotu průběhu, uint dobu trvání v milisekundách, Easing hodnotu výčtu Task<bool>a vrátí hodnotu . Následující kód 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 in Xamarin.Forms.