Compartilhar via


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:

Captura de tela da 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 a 0, valores maiores que 1 serão fixados a 1.
  • ProgressColor é um Color 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, 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 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:

Captura de tela da ProgressBar estilizada 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 ProgressBararquivo :

// 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.