Allan Day
aday@gnome.org

This work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.

Georges Neto
georges.stavracas@gmail.com 2014,
Rafael Fontenelle
rafaelff@gnome.org 2017-2021

# Spinners de progresso

Os spinners de progresso são um elemento comum da interface do usuário para indicar o progresso de uma tarefa. Ao contrário das barras de progresso, elas indicam apenas que o progresso está ocorrendo e não exibem a proporção da tarefa que foi concluída.

# Quando usar

Geralmente, é necessária uma indicação de progresso sempre que uma operação demora mais de três segundos e é necessário indicar que uma operação está realmente ocorrendo. Caso contrário, um usuário ficará em dúvida se um erro ocorreu.

Ao mesmo tempo, as indicações de progresso são uma fonte potencial de distração, especialmente quando exibidas por curtos períodos de tempo. Se uma operação levar menos de 3 segundos, é melhor evitar o uso de um controle giratório de progresso, pois os elementos animados mostrados por um período muito curto de tempo podem prejudicar a experiência geral do usuário.

Os spinners não mostram graficamente o grau de progresso através de uma tarefa e, geralmente, são mais adequados para operações mais curtas. Se a tarefa levar mais de um minuto, uma barra de progresso pode ser uma escolha melhor.

A forma dos spinners de progresso também afeta sua adequação para diferentes situações. Como eles são eficazes em tamanhos pequenos, os spinners podem ser facilmente incorporados em elementos de interface de usuário pequenos, como listas ou barras de cabeçalho. Da mesma forma, sua forma significa que eles podem ser eficazes quando incorporados em contêineres quadrados ou retangulares. Por outro lado, se o espaço vertical é limitado, uma barra de progresso pode ser mais adequada.

# Diretrizes gerais

Se uma operação puder variar em quanto tempo leva, use um tempo limite para mostrar apenas um controle giratório de progresso após três segundos. Uma indicação de progresso não é necessária por períodos de tempo abaixo disso.

Coloque spinners de progresso próximos ou dentro dos elementos da interface do usuário aos quais eles se relacionam. Se um botão acionar uma operação de longa duração, o spinner pode ser colocado próximo a esse botão, por exemplo. Ao carregar conteúdo, o spinner deve ser colocado dentro da área onde esse conteúdo será exibido.

Geralmente, apenas um spinner de progresso deve ser exibido de uma só vez. Evite mostrar um grande número de spinners ao mesmo tempo – isso muitas vezes será visualmente exagerado.

Uma etiqueta pode ser mostrada ao lado de um spinner se for útil esclarecer a tarefa à qual um spinner se relaciona.

Se um spinner for exibido por um longo período, um rótulo pode indicar a identidade da tarefa e progredir através dela. Isso pode assumir a forma de uma porcentagem, uma indicação do tempo restante ou progredir através de subcomponentes da tarefa (p.ex., módulos baixados ou páginas exportadas).

# Referência de API

GtkSpinner