Os widgets são um aspecto essencial da personalização da tela inicial. Pense neles como visualizações rápidas dos dados e funcionalidades mais importantes de um app, que podem ser acessadas diretamente na tela inicial do usuário. Os usuários podem mover os widgets pelos painéis de tela inicial e, se disponível, redimensioná-los para personalizar a quantidade de informações em um widget de acordo com a preferência deles.
Esta página fornece uma introdução aos diferentes tipos de widget que você pode querer criar e alguns princípios de design para seguir. Para começar a criar um widget de app, leia Criar um widget de app.
Tipos de widget
Quando começar a planejar seu widget, pense no tipo que você está tentando criar. Os widgets geralmente se enquadram em uma das seguintes categorias:
Widgets de informação
Os widgets de informação normalmente exibem alguns elementos de informações cruciais que são importantes para um usuário. Eles também monitoram como essas informações mudam com o tempo. Bons exemplos de widgets de informação são os de previsão do tempo, de relógio ou de placares de jogos. Tocar nos widgets de informação normalmente inicia o app associado e abre uma visualização detalhada das informações do widget.
Widgets de coleção
Como o nome sugere, os widgets de coleção são especializados em exibir uma variedade de elementos do mesmo tipo, como uma coleção de imagens de um app de galeria, uma coleção de artigos de um app de notícias ou uma coleção de e-mails/mensagens de um aplicativo de comunicação. Normalmente, os widgets de coleção se concentram em dois casos de uso: a navegação pela coleção e a abertura de um elemento dela para a visualização de detalhes para consumo. Os widgets de coleção podem apresentar rolagem vertical.

Widget de ListView

Widget de GridView
Widgets de controle
O principal objetivo de um widget de controle é exibir as funções usadas com frequência, as quais o usuário pode acionar diretamente na tela inicial sem precisar abrir o app primeiro. Pense neles como controles remotos para um app. Um exemplo típico de widgets de controle são os de apps de música, que permitem que o usuário toque, pause ou pule faixas de música sem precisar abrir o app em si.
A interação com widgets de controle pode ou não progredir para uma visualização de detalhes associados, dependendo se a função do widget gerou um conjunto de dados, como no caso de um widget de pesquisa.
Widgets híbridos
Embora todos os widgets tendam a se aproximar de um dos três tipos descritos acima, muitos deles são híbridos que combinam elementos de diferentes tipos.
Para planejar seu widget, concentre-o em torno de um dos tipos de base e, se necessário, adicione elementos de outros tipos.
Limitações de widgets
Embora seja possível entender os widgets como "mini apps", é necessário compreender que há algumas limitações importantes antes de começar a desenvolver seu widget:
Gestos
Como os widgets estão na tela inicial, eles precisam coexistir com a navegação estabelecida nesse local. Isso limita a compatibilidade com gestos disponível em um widget em comparação com um app de tela cheia. Embora os apps, por exemplo, possam ser compatíveis com um paginador de visualizações que permite que o usuário navegue entre as telas lateralmente, esse gesto já é usado na tela inicial para navegar entre painéis.
Os únicos gestos disponíveis para widgets são:
- tocar;
- deslizar verticalmente.
Elementos
Dadas as limitações de interação acima, alguns dos blocos de criação da IU que dependem de gestos restritos não estão disponíveis para widgets. Para uma lista completa de blocos de criação compatíveis e mais informações sobre restrições de layout, consulte a seção "Criar layouts para widgets de apps" no guia da API Widgets de apps.
Diretrizes de design
Conteúdo dos widgets
Os widgets são um ótimo mecanismo para atrair um usuário para seu app, "anunciando" conteúdo novo e interessante que esteja disponível para consumo no app.
Assim como os teasers na primeira página de um jornal, os widgets precisam consolidar e concentrar as informações de um app e, então, fornecer uma conexão com maiores detalhes dentro do aplicativo. Em outras palavras, o widget é o "aperitivo" das informações, enquanto o app é o "prato principal". Por isso, seu app sempre precisa mostrar mais detalhes sobre um item de informação do que o exibido pelo widget.
Navegação por widgets
Além do conteúdo de informações, complete a oferta do seu widget fornecendo links de navegação para as áreas mais usadas do app. Isso permite que os usuários concluam tarefas mais rapidamente e ampliem o alcance funcional do app para a tela inicial.
Alguns links de navegação que você pode exibir nos widgets são os seguintes:
- Funções geradoras: são as funções que permitem que o usuário crie novos conteúdos para um app, como um novo documento ou uma nova mensagem.
- Abrir aplicativo no nível superior: tocar em um elemento de informação geralmente leva o usuário para uma tela de detalhes de nível inferior. Fornecer acesso ao nível superior do seu aplicativo oferece mais flexibilidade de navegação e pode substituir um atalho de app dedicado, que os usuários usariam para navegar até o app pela tela inicial. Usar o ícone do aplicativo como uma funcionalidade também pode dar ao seu widget uma identidade clara, caso os dados exibidos sejam ambíguos.
Redimensionamento de widgets

Tocar no widget, mantê-lo pressionado e depois soltá-lo ativa o modo de redimensionamento dos widgets redimensionáveis. Os usuários podem arrastar as alças ou os cantos do widget para definir o tamanho desejado.
O redimensionamento permite que os usuários ajustem a altura e/ou a largura de um widget dentro das restrições da grade de posicionamento no painel inicial. É possível decidir se o widget pode ser redimensionado livremente ou se está restrito a mudanças de tamanho na horizontal ou vertical. Não é necessário oferecer compatibilidade com o redimensionamento se seu widget for inerentemente de tamanho fixo.
Permitir que os usuários redimensionem widgets tem benefícios importantes:
- Eles podem ajustar a quantidade de informações que querem ver em cada widget.
- Eles podem influenciar melhor o layout dos widgets e atalhos no painel inicial.
Planejar uma estratégia de redimensionamento depende do tipo de widget que você está criando. Os widgets de coleção baseados em lista ou grade geralmente são simples, porque o redimensionamento dele apenas expande ou reduz a área de rolagem vertical. Seja qual for o tamanho do widget, o usuário ainda poderá rolar todos os elementos de informação para vê-los. Os widgets de informação, por outro lado, exigem um pouco mais de planejamento prático, já que não são roláveis, e todo o conteúdo precisa caber em um tamanho específico. Você terá que ajustar dinamicamente o conteúdo e o layout do widget para o tamanho que o usuário definiu por meio da operação de redimensionamento.
Neste exemplo simples, o usuário pode redimensionar um widget de previsão do tempo horizontalmente em quatro etapas e expor informações mais detalhadas sobre o clima no local atual conforme o widget aumenta.
Para cada tamanho de widget, determine a quantidade de informações do seu app que é exibida. Para tamanhos menores, concentre-se no essencial e adicione mais informações contextuais conforme o widget aumentar horizontal e verticalmente.
Considerações sobre layout
Pode ser tentador definir o layout dos seus widgets de acordo com as dimensões da grade de posicionamento de um dispositivo específico que você tenha e use para o desenvolvimento. Isso pode ser útil para uma aproximação inicial conforme você define o layout do widget, mas lembre-se do seguinte:
- O número, o tamanho e o espaçamento das células podem variar muito de acordo com o dispositivo, por isso, é muito importante que seu widget seja flexível e possa acomodar mais ou menos espaço do que o previsto.
- Na verdade, conforme o usuário redimensiona um widget, o sistema responde com uma faixa de tamanho de dp na qual seu widget pode se redesenhar. Planejar sua estratégia de redimensionamento de widgets para tamanhos específicos em vez de dimensões de grade variáveis gerará resultados mais confiáveis.
Configuração de widgets
Às vezes, é necessário configurar os widgets antes de eles se tornarem úteis. Pense em um widget de e-mail, por exemplo, em que é necessário fornecer uma conta para que a caixa de entrada possa ser exibida. Ou um widget de foto estática, onde é necessário que o usuário defina a imagem da galeria que será exibida.
Os widgets do Android exibem as opções de configuração deles logo após serem inseridos em um painel inicial. Mantenha a configuração do widget leve e não apresente mais de dois a três elementos de configuração. Use o estilo de caixas de diálogo em vez de atividades em tela cheia para apresentar opções de configuração e manter o contexto de lugar do usuário, mesmo se isso exigir o uso de várias caixas de diálogo.
Depois da configuração, geralmente não há muitas razões para acessá-la novamente. Por isso, os widgets do Android não exibem um botão "Configuração".

Lista de verificação
- Concentre-se em pequenas porções de informações relevantes no seu widget. Mostre mais informações no app.
- Escolha o tipo certo de widget para sua finalidade.
- Para widgets redimensionáveis, planeje como o conteúdo do seu widget se adaptará a diferentes tamanhos.
- Faça com que seu widget não dependa da orientação nem do dispositivo, garantindo que o layout possa aumentar e diminuir.