Présentation des widgets d'application

Essayer la méthode Compose
Jetpack Compose est le kit d'UI recommandé pour Android. Découvrez comment créer des widgets à l'aide d'API de style Compose.

Les widgets sont un aspect essentiel de la personnalisation de l'écran d'accueil. Vous pouvez les considérer comme des vues "en un coup d'œil" des données et fonctionnalités les plus importantes d'une application, accessibles directement sur l'écran d'accueil de l'utilisateur. Les utilisateurs peuvent déplacer les widgets sur les panneaux de leur écran d'accueil et, si possible, les redimensionner pour adapter la quantité d'informations qu'ils contiennent à leurs préférences.

Cette documentation présente les différents types de widgets que vous pouvez créer et les principes de conception à suivre. Pour créer un widget d'application à l'aide des API RemoteView et des mises en page XML, consultez Créer un widget de base. Pour créer un widget à l'aide d'API de style Kotlin et Compose, consultez Jetpack Glance.

Types de widgets

Lorsque vous planifiez votre widget, réfléchissez au type de widget que vous souhaitez créer. Les widgets appartiennent généralement à l'une des catégories suivantes :

Widgets d'informations

Exemple de widget météo affichant Tokyo comme étant principalement nuageux, 14 degrés, et la température prévue de 16h à 19h
Figure 1. Widget d'informations d'une application météo

Les widgets d'informations affichent généralement des éléments d'informations essentiels et suivent l'évolution de ces informations au fil du temps. Les widgets d'informations sont, par exemple, les widgets météo, les widgets d'horloge ou les widgets de suivi des résultats sportifs. En règle générale, appuyer sur un widget d'informations lance l'application associée et ouvre une vue détaillée des informations du widget.

Widgets de collection

Les widgets de collection sont spécialisés dans l'affichage de plusieurs éléments du même type, comme une collection d'images d'une application de galerie, une collection d'articles d'une application d'actualités ou une collection d'e-mails ou de messages d'une application de communication. Les widgets de collection peuvent défiler verticalement.

Les widgets de collection se concentrent généralement sur les cas d'utilisation suivants :

  • Parcourir la collection.
  • Ouvrir un élément de la collection dans sa vue détaillée dans l'application associée.
  • Interagir avec des éléments, par exemple en les marquant comme terminés, avec la prise en charge des boutons composés dans Android 12 (niveau d'API 31).

Widgets de contrôle

Widget d'une application appelée "Light list", affichant des boutons bascule intitulés "Bedroom", "Kitchen" et "Living room", les deux premiers boutons bascule étant désactivés
Figure 4. Exemple de widget de contrôle.

L'objectif principal d'un widget de contrôle est d'afficher les fonctions fréquemment utilisées afin que l'utilisateur puisse les déclencher depuis l'écran d'accueil sans avoir à ouvrir l'application. Vous pouvez les considérer comme des télécommandes pour une application. Un widget de contrôle de la maison, par exemple, permet aux utilisateurs d'allumer ou d'éteindre les lumières de la maison.

L'interaction avec un widget de contrôle peut ouvrir une vue détaillée associée dans l'application. Cela dépend de la fonction du widget de contrôle, qui peut générer des données, comme dans le cas d'un widget Recherche.

Widgets hybrides

Une application musicale générale affichant les boutons "Je n'aime pas", "Retour", "Lecture/Pause", "Avancer" et "J'aime". L'artiste et le titre sont respectivement indiqués comme "Artiste" et "Exemple de musique".
Figure 5 : Exemple de widget d'application musicale.

Bien que certains widgets représentent l'un des types décrits dans les sections précédentes (informations, collection ou contrôle), de nombreux widgets sont des hybrides qui combinent des éléments de différents types. Par exemple, un widget de lecteur de musique est principalement un widget de contrôle, mais il indique également à l'utilisateur quel titre est en cours de lecture, comme un widget d'informations.

Lorsque vous planifiez votre widget, concevez-le autour de l'un des types de base et ajoutez des éléments d'autres types si nécessaire.

Intégrer des widgets à l'Assistant Google

L'Assistant Google peut afficher n'importe quel type de widget en réponse aux commandes vocales de l'utilisateur. Vous pouvez configurer vos widgets pour qu'ils répondent aux Actions dans les applications, ce qui permet aux utilisateurs de recevoir des réponses rapides et de profiter d'expériences dans l'application interactives sur les surfaces de l'Assistant telles qu'Android et Android Auto. Pour en savoir plus sur le traitement des widgets pour l'Assistant, consultez Intégrer des actions dans l'application avec des widgets Android.

Limites des widgets

Bien que les widgets puissent être considérés comme des "mini-applications", il existe certaines limites qu'il est important de comprendre avant de concevoir votre widget.

Gestes

Comme les widgets se trouvent sur l'écran d'accueil, ils doivent coexister avec la navigation qui y est établie. Cela limite la compatibilité avec les gestes disponibles dans un widget par rapport à une application en plein écran. Bien que les applications puissent permettre aux utilisateurs de naviguer horizontalement entre les écrans, ce geste est déjà utilisé sur l'écran d'accueil pour naviguer entre les écrans d'accueil.

Les seuls gestes disponibles pour les widgets sont l'appui et le balayage vertical.

Éléments

Compte tenu des limites concernant les gestes disponibles pour les widgets, certains composants d'interface utilisateur qui reposent sur des gestes limités ne sont pas disponibles pour les widgets. Pour obtenir la liste complète des composants compatibles et plus d'informations sur les restrictions de mise en page, consultez Créer la mise en page du widget et Fournir des mises en page de widget flexibles.

Principes de conception

Suivez ces consignes de conception pour créer une expérience de widget attrayante, flexible et cohérente sur l'écran d'accueil.

Contenu du widget

Les widgets sont un excellent moyen d'attirer un utilisateur vers votre application en "promouvant" des contenus nouveaux et intéressants disponibles dans votre application.

Tout comme les accroches en première page d'un journal, les widgets regroupent et concentrent les informations d'une application, et fournissent un lien vers des détails plus complets dans l'application. On pourrait dire que le widget est un "en-cas" d'informations, tandis que l'application est le "repas". Assurez-vous que votre application affiche plus de détails sur un élément d'information que ce que le widget affiche.

En plus du contenu d'information pur, envisagez de faire en sorte que votre widget fournisse des liens de navigation vers les zones fréquemment utilisées de votre application. Cela permet aux utilisateurs d'effectuer des tâches plus rapidement et d'étendre la portée fonctionnelle de l'application à l'écran d'accueil.

Voici quelques exemples de liens de navigation adaptés aux widgets :

  • Fonctions génératives : ces fonctions permettent à l'utilisateur de créer du contenu pour une application, par exemple un document ou un message.

  • Ouvrir l'application au niveau supérieur : appuyer sur un élément d'information redirige généralement l'utilisateur vers un écran d'informations de niveau inférieur. En fournissant un accès au niveau supérieur de votre application, vous offrez plus de flexibilité de navigation et pouvez remplacer un raccourci d'application dédié que les utilisateurs utilisent pour accéder à l'application depuis l'écran d'accueil. L'utilisation de l'icône de votre application pour cette fonctionnalité peut également donner une identité claire à votre widget si les données que vous affichez sont ambiguës.

Redimensionnement des widgets

Widget Horloge Google standard
Figure 6 : Widget Horloge Google standard.

Appuyez de manière prolongée sur un widget redimensionnable, puis relâchez-le pour passer en mode de redimensionnement. Les utilisateurs peuvent utiliser les poignées de déplacement ou les angles du widget pour définir la taille de leur choix.

Le redimensionnement permet aux utilisateurs d'ajuster la hauteur et la largeur d'un widget dans les limites de la grille de placement de l'écran d'accueil. Vous pouvez décider si votre widget peut être redimensionné librement ou s'il est limité aux modifications de taille horizontales ou verticales. Vous n'avez pas besoin de prendre en charge le redimensionnement si votre widget est intrinsèquement de taille fixe.

Permettre aux utilisateurs de redimensionner les widgets présente des avantages importants :

  • Ils peuvent affiner la quantité d'informations qu'ils souhaitent voir sur chaque widget.
  • Ils peuvent mieux influencer la disposition des widgets et des raccourcis sur leurs panneaux d'accueil.

Planifiez une stratégie de redimensionnement pour votre widget en fonction du type de widget que vous créez. Les widgets de collection basés sur une liste ou une grille sont généralement simples, car le redimensionnement du widget développe ou réduit la zone de défilement vertical. Quelle que soit la taille du widget, l'utilisateur peut toujours faire défiler tous les éléments d'information pour les afficher.

Les widgets d'informations nécessitent une planification plus précise, car ils ne sont pas déroulants et tout le contenu doit tenir dans une taille donnée. Vous devez ajuster de manière dynamique le contenu et la mise en page de votre widget à la taille définie par l'utilisateur lors de l'opération de redimensionnement.

Dans l'exemple suivant, l'utilisateur peut redimensionner un widget météo en trois étapes, ce qui permet d'afficher des informations plus détaillées sur la météo à l'emplacement actuel à mesure que le widget s'agrandit.

Exemple de widget météo dans la plus petite taille de grille (3x2), indiquant le nom du lieu (Tokyo), la température (14 °) et un symbole indiquant un temps partiellement nuageux
Figure 7. Exemple de widget météo de "petite" taille dans une grille 3x2.


Exemple de widget météo de taille moyenne (5x2), incluant tous les éléments d'UI de la taille 3x2, ainsi que le libellé "Plutôt nuageux" et les températures prévues de 16h à 19h
Figure 8 : Exemple de widget météo de taille moyenne dans une grille de 5 x 2.


Exemple de widget météo de "grande" taille (5x4), incluant tous les éléments d'interface utilisateur des tailles de grille 3x2 et 5x2, ainsi que les prévisions météo du mardi au vendredi
Figure 9. Exemple de widget météo au format "grand" (grille 5x4).

Pour chaque taille de widget, déterminez la quantité d'informations de votre application à afficher. Pour les tailles plus petites, concentrez-vous sur les informations essentielles, puis ajoutez des informations contextuelles à mesure que le widget s'agrandit horizontalement et verticalement.

Considérations relatives à la mise en page

Il est tentant de disposer vos widgets en fonction des dimensions de la grille de placement d'un appareil que vous utilisez pour le développement. Cela peut être une approximation initiale utile, mais gardez à l'esprit les points suivants :

  • Pour obtenir les résultats les plus fiables, planifiez votre stratégie de redimensionnement des widgets en fonction de "buckets de taille" plutôt que de dimensions de grille variables.
  • Le nombre, la taille et l'espacement des cellules peuvent varier considérablement d'un appareil à l'autre. Il est donc très important que votre widget soit flexible et puisse s'adapter à un espace plus ou moins grand que prévu.
  • Lorsque l'utilisateur redimensionne un widget, le système répond avec une plage de tailles en dp dans laquelle votre widget peut se redessiner.
  • À partir d'Android 12, vous pouvez fournir des attributs de taille plus précis et des mises en page plus flexibles. Par exemple :

Configuration des widgets par les utilisateurs

Parfois, l'utilisateur doit configurer le widget avant de pouvoir l'utiliser. Prenons l'exemple d'un widget de messagerie dans lequel l'utilisateur doit sélectionner le dossier de messagerie avant que la boîte de réception ne s'affiche, ou d'un widget photo statique dans lequel l'utilisateur doit attribuer une image de la galerie à afficher. Les widgets Android affichent leurs options de configuration dès que l'utilisateur dépose le widget sur un écran d'accueil.

Checklist de conception de widgets

  • Concentrez-vous sur de petites portions d'informations faciles à lire sur votre widget. Développez les informations de votre application.
  • Choisissez le type de widget adapté à vos besoins.
  • Planifiez la façon dont le contenu de votre widget s'adapte aux différentes tailles.
  • Faites en sorte que la mise en page de votre widget soit indépendante de l'orientation et de l'appareil en vous assurant qu'elle peut s'étirer et se contracter.
  • Déterminez si votre widget nécessite une configuration supplémentaire.