Améliorations des widgets Android 12

Android 12 (niveau d'API 31) remanie les widgets existants. API pour améliorer l'expérience utilisateur et développeur dans la plateforme et les lanceurs d’applications. Ce guide vous explique comment vous assurer votre widget est compatible avec Android 12. Il sert également de référence pour les API en actualisant votre widget existant.

Texte alternatif

Vérifier que votre widget est compatible avec Android 12

Les widgets d'Android 12 ont des coins arrondis. Lorsqu'un widget d'application est utilisé sur un appareil équipé d'Android 12 ou version ultérieure, le lanceur d'applications identifie automatiquement l'arrière-plan du widget et le recadre pour qu'il soit arrondi dans chaque coin.

Dans ce scénario, il est possible que votre widget ne s'affiche pas correctement dans l'une des conditions suivantes :

  • Le widget présente du contenu dans les coins: cela peut entraîner une erreur dans l'angle à rogner.

  • Le widget utilise un arrière-plan qui n'est pas sensible au recadrage. Ce inclut un arrière-plan transparent, des vues ou des mises en page vides ou tout autre type un arrière-plan spécial non susceptible d'être recadré. Le système ne pourra peut-être pas identifier correctement l'arrière-plan à utiliser.

Si votre widget est concerné par cette modification, nous vous recommandons de l'actualiser avec et des angles arrondis (comme décrit dans la section suivante) pour que l'écran s'affiche correctement.

Utiliser l'exemple

Pour voir toutes ces API en action, consultez notre widget de liste d'exemples.

Implémenter des angles arrondis

Android 12 introduit les paramètres système system_app_widget_background_radius et system_app_widget_inner_radius pour définir les rayons des coins arrondis de votre widget.

<ph type="x-smartling-placeholder">
</ph> Widget météo de Tokyo
Figure 1 : Coins arrondis sur un widget et vue à l'intérieur du widget

1 Coin du widget

2 Angle d'une vue dans le widget.

Pour en savoir plus, consultez Implémenter des angles arrondis.

Ajouter un thème à l'appareil

À partir d'Android 12, un widget peut utiliser les couleurs du thème de l'appareil. pour les boutons, les arrière-plans et les autres composants, y compris les thèmes clair et sombre. Cela permet des transitions plus fluides et une cohérence entre les différents widgets.

Pour en savoir plus, consultez Ajouter une thématisation par appareil.

Widget avec le thème en mode clair
Figure 2 : Widget avec le thème clair
Widgets avec le thème en mode sombre
Figure 3 : Widget avec le thème sombre

Faciliter la personnalisation des widgets

Si vous spécifiez une activité de configuration avec l'attribut configure de appwidget-provider, l'hôte du widget d'application lance cette activité immédiatement après qu'un utilisateur a ajouté la à son écran d'accueil.

Android 12 ajoute de nouvelles options pour vous permettre de configuration pour les utilisateurs. Pour en savoir plus, consultez Autoriser les utilisateurs à configurer des widgets.

Ajouter des boutons composés

Android 12 prend en charge le comportement avec état à l'aide du les composants existants suivants:

Le widget est toujours sans état. Votre application doit stocker l'état et s'inscrire à les événements de changement d'état.

<ph type="x-smartling-placeholder">
</ph>
Figure 4 : Exemple de widget avec des cases à cocher

Pour en savoir plus, consultez Compatibilité avec le comportement avec état.

Utiliser des API améliorées pour les tailles et les mises en page des widgets

À partir d'Android 12, vous pouvez profiter d'une taille plus affinée et des mises en page plus flexibles, en spécifiant des tailles de widget supplémentaires et en fournissant des mises en page réactives et exactes.

Pour en savoir plus, consultez Fournir des mises en page de widget flexibles.

Améliorer l'expérience du sélecteur de widgets dans votre application

Android 12 vous permet d'améliorer l'expérience du sélecteur de widgets pour votre application en ajoutant des aperçus et des descriptions de widgets dynamiques. Pour en savoir plus, consultez Ajouter des aperçus de widgets évolutifs au sélecteur de widgets et Ajouter une description à votre widget.

Rendre les transitions plus fluides

À partir d'Android 12, les lanceurs offrent une transition plus fluide lorsqu'un utilisateur lance votre application à partir d'un widget. Voir Activer l'amélioration de transition.

Utiliser des collections RemoteViews simplifiées

Android 12 ajoute la setRemoteAdapter(int viewId, RemoteViews.RemoteCollectionItems items) , qui permet à votre application de transmettre directement une collection lors de l'insertion d'un ListView Auparavant, lorsque vous utilisiez un ListView, vous deviez implémenter et déclarer un RemoteViewsService pour renvoyer RemoteViewsFactory.

Pour en savoir plus, consultez Utiliser des collections RemoteViews.

Utiliser la modification de l'environnement d'exécution de RemoteViews

Android 12 ajoute plusieurs méthodes RemoteViews qui permettent l'exécution modification des attributs RemoteViews. Consultez la documentation de référence de l'API RemoteViews. pour obtenir la liste complète des méthodes ajoutées.

Pour en savoir plus, consultez la section Utiliser la modification de l'environnement d'exécution RemoteViews.