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
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
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
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.
Navigation dans les widgets
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
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.
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 :
- Spécifier des contraintes de taille de widget Par exemple, vous pouvez spécifier la taille cible de votre widget (en cellules de grille) ainsi que la taille maximale possible.
- Fournir des mises en page responsives, qui changent en fonction de la taille du widget.
- Fournir des mises en page de taille exacte, qui permettent au lanceur d'applications de répondre avec des options de taille pour les modes Portrait et Paysage, pour les téléphones ou avec quatre tailles pour les pliables.
- Utiliser les conseils mis à jour et les nouvelles API pour déterminer les tailles appropriées pour votre widget.
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.