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
:
Ovládací ProgressBar
prvek definuje dvě vlastnosti:
Progress
float
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 barvaColor
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 Center
je , Start
nebo 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:
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.