Xamarin.Forms ProgressBar
O Xamarin.FormsProgressBar
controle representa visualmente o progresso como uma barra horizontal que é preenchida para uma porcentagem representada por um float
valor. A classe ProgressBar
herda de View
.
As capturas de tela a seguir mostram um ProgressBar
no iOS e Android:
O ProgressBar
controle define duas propriedades:
Progress
é umfloat
valor que representa o progresso atual como um valor de 0 a 1.Progress
valores menores que 0 serão fixados a 0, valores maiores que 1 serão fixados a 1.ProgressColor
é umColor
que afeta a cor da barra interna que representa o progresso atual.
Essas propriedades são apoiadas por BindableProperty
objetos, o que significa que o ProgressBar
pode ser estilizado e ser o destino de associações de dados.
O ProgressBar
controle também define um ProgressTo
método que anima a barra de seu valor atual para um valor especificado. Para obter mais informações, consulte Animar uma ProgressBar.
Observação
O ProgressBar
não aceita manipulação do usuário, portanto, ele é ignorado ao usar a tecla Tab para selecionar controles.
Criar uma ProgressBar
Um ProgressBar
pode ser instanciado em XAML. Sua Progress
propriedade determina a porcentagem de preenchimento da barra interna colorida. O valor da propriedade padrão Progress
é 0. O exemplo a seguir mostra como instanciar um ProgressBar
em XAML com o conjunto de propriedades opcional Progress
:
<ProgressBar Progress="0.5" />
A ProgressBar
também pode ser criado em código:
ProgressBar progressBar = new ProgressBar { Progress = 0.5f };
Aviso
Não use opções de layout horizontal irrestritas, como Center
, Start
ou End
com ProgressBar
. Na UWP, o ProgressBar
recolhe para uma barra de largura zero. Mantenha o valor padrão HorizontalOptions
de Fill
e não use uma largura de Auto
ao colocar um ProgressBar
em um Grid
layout.
Propriedades de aparência de ProgressBar
A ProgressColor
propriedade define a cor da barra interna quando a Progress
propriedade é maior que zero. O exemplo a seguir mostra como instanciar um ProgressBar
em XAML com o conjunto de ProgressColor
propriedades:
<ProgressBar ProgressColor="Orange" />
A ProgressColor
propriedade também pode ser definida ao criar um ProgressBar
código in:
ProgressBar progressBar = new ProgressBar { ProgressColor = Color.Orange };
As capturas de tela a seguir mostram o ProgressBar
com a ProgressColor
propriedade definida como Color.Orange
no iOS e Android:
Animar uma ProgressBar
O ProgressTo
método anima o de seu valor atual Progress
para um valor fornecido ao longo do ProgressBar
tempo. O método aceita um valor de float
progresso, uma uint
duração em milissegundos, um Easing
valor de enum e retorna um Task<bool>
arquivo . O código a seguir demonstra como animar um ProgressBar
arquivo :
// animate to 75% progress over 500 milliseconds with linear easing
await progressBar.ProgressTo(0.75, 500, Easing.Linear);
Para obter mais informações sobre a Easing
enumeração, consulte Facilitando funções no Xamarin.Forms.