Xamarin.Forms Progressbar

Baixar exemplo Baixar o exemplo

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 no Android:

Captura de tela do ProgressBar no iOS e android

O ProgressBar controle define duas propriedades:

  • Progress é um float valor que representa o progresso atual como um valor de 0 a 1. Progress valores menores que 0 serão fixados em 0, valores maiores que 1 serão fixados em 1.
  • ProgressColor é um Color que afeta a cor da barra interior 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 um 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 um ProgressBar

Um ProgressBar pode ser instanciado em XAML. Sua Progress propriedade determina o percentual 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" />

Um ProgressBar também pode ser criado no código:

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

Aviso

Não use opções de layout horizontal irrestrita, como Center, Startou 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 ProgressColor conjunto de propriedades:

<ProgressBar ProgressColor="Orange" />

A ProgressColor propriedade também pode ser definida ao criar um ProgressBar no código:

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

As capturas de tela a seguir mostram o ProgressBar com a ProgressColor propriedade definida Color.Orange como no iOS e no Android:

Captura de tela do ProgressBar estilizado no iOS e android

Animar um ProgressBar

O ProgressTo método anima o ProgressBar de seu valor atual Progress para um valor fornecido ao longo do tempo. O método aceita um float valor de progresso, uma uint duração em milissegundos, um Easing valor de enumeração e retorna um Task<bool>. O código a seguir demonstra como animar um ProgressBar:

// 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 Easing functions in Xamarin.Forms.