Condividi tramite


Xamarin.Forms Controllo ProgressBar

Il Xamarin.FormsProgressBar controllo rappresenta visivamente lo stato di avanzamento come barra orizzontale riempita in una percentuale rappresentata da un float valore. La classe ProgressBar eredita da View.

Gli screenshot seguenti mostrano un ProgressBar oggetto in iOS e Android:

Screenshot di ProgressBar in iOS e Android

Il ProgressBar controllo definisce due proprietà:

  • Progress è un float valore che rappresenta lo stato di avanzamento corrente come valore compreso tra 0 e 1. Progress i valori minori di 0 verranno bloccati su 0, i valori maggiori di 1 verranno bloccati su 1.
  • ProgressColor è un oggetto Color che influisce sul colore della barra interna che rappresenta lo stato di avanzamento corrente.

Queste proprietà sono supportate da BindableProperty oggetti, il che significa che ProgressBar è possibile applicare stili e essere la destinazione dei data binding.

Il ProgressBar controllo definisce anche un ProgressTo metodo che anima la barra dal valore corrente a un valore specificato. Per altre informazioni, vedere Animare un controllo ProgressBar.

Nota

L'oggetto ProgressBar non accetta la manipolazione dell'utente in modo che venga ignorato quando si utilizza il tasto TAB per selezionare i controlli.

Creare un indicatore di stato

È ProgressBar possibile creare un'istanza di un oggetto in XAML. La proprietà Progress determina la percentuale di riempimento della barra interna e colorata. Il valore predefinito Progress della proprietà è 0. L'esempio seguente illustra come creare un'istanza di in ProgressBar XAML con il set di proprietà facoltativo Progress :

<ProgressBar Progress="0.5" />

È anche possibile creare un oggetto ProgressBar nel codice:

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

Avviso

Non usare opzioni di layout orizzontale senza vincoli, ad Centeresempio , Starto End con ProgressBar. Nella piattaforma UWP il ProgressBar controllo viene compresso su una barra di larghezza zero. Mantenere il valore predefinito HorizontalOptions di Fill e non usare una larghezza di Auto quando si inserisce un oggetto ProgressBar in un Grid layout.

Proprietà di aspetto ProgressBar

La ProgressColor proprietà definisce il colore della barra interna quando la Progress proprietà è maggiore di zero. L'esempio seguente illustra come creare un'istanza di in ProgressBar XAML con il set di ProgressColor proprietà:

<ProgressBar ProgressColor="Orange" />

La ProgressColor proprietà può essere impostata anche durante la creazione di un oggetto ProgressBar nel codice:

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

Gli screenshot seguenti mostrano con ProgressBar la ProgressColor proprietà impostata Color.Orange su in iOS e Android:

Screenshot di ProgressBar con stile in iOS e Android

Animare un indicatore di stato

Il ProgressTo metodo anima l'oggetto ProgressBar dal valore corrente Progress a un valore specificato nel tempo. Il metodo accetta un float valore di stato, una uint durata in millisecondi, un Easing valore di enumerazione e restituisce un oggetto Task<bool>. Il codice seguente illustra come animare un oggetto ProgressBar:

// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);

Per altre informazioni sull'enumerazione Easing , vedere Funzioni di interpolazione in Xamarin.Forms.