Compatibilité avec les tablettes et les grands écrans

Avec Android 13, Android est
encore plus performant sur les grands écrans.

Android 13 s'appuie sur les optimisations pour tablette introduites dans Android 12 et la mise à jour groupée 12L, y compris les optimisations de l'UI du système, un meilleur mode multitâche et des modes de compatibilité améliorés. Lors de vos tests, assurez-vous que vos applications s'affichent de manière optimale sur les tablettes et les autres appareils à grand écran.

Pour commencer, configurez un appareil virtuel pour Android Emulator dans Android Studio ou installez Android 13 sur un appareil à grand écran de nos fabricants partenaires.

Si vous débutez dans le développement des grands écrans, consultez les guides sur les grands écrans et appareils pliables. Vous y trouverez les dernières consignes et techniques pour créer des expériences exceptionnelles sur ces appareils.

Voici un aperçu des nouveautés et quelques idées sur les éléments à tester dans votre application.

Un système d'exploitation optimisé pour les grands écrans

L'UI du système est désormais plus élégante et plus facile à utiliser sur les grands écrans, qu'il s'agisse de notifications, de réglages rapides, de l'écran de verrouillage, de l'aperçu, de l'écran d'accueil, etc.

Sur les grands écrans, le volet des notifications tire parti de l'espace en affichant les Réglages rapides et les notifications dans une nouvelle mise en page à deux colonnes. L'écran de verrouillage utilise également une mise en page à deux colonnes plus grande pour mettre en évidence les notifications et l'horloge. Les applications système telles que les paramètres sont également optimisées.

Les mises en page sur grand écran affichent plus de contenu dans une mise en page à deux colonnes.

D'autres changements visent à faciliter les interactions clés sur les grands écrans. Par exemple, sur les tablettes, le schéma d'écran de verrouillage et les commandes par code s'affichent désormais sur le côté de l'écran pour être plus facilement accessibles. Les utilisateurs peuvent simplement appuyer de l'autre côté de l'écran pour les déplacer.

Pour les appareils pliables, le système optimise la grille de l'écran d'accueil et affine la transition plier/déplier, afin que les utilisateurs passent facilement d'un seul écran extérieur à l'écran déplié plus grand, renforçant ainsi la continuité tout en préservant leurs choix.

Pour les développeurs: modification de la projection multimédia

À partir de la version 12L, lorsque l'écran virtuel est rendu sur la surface, il est mis à l'échelle pour s'adapter à la surface à l'aide d'un processus semblable à l'option centerInside de ImageView.

Cette nouvelle approche de mise à l'échelle, qui améliore la diffusion de contenu sur les écrans de télévision et autres grands écrans, maximise la taille d'image de la surface, tout en garantissant des proportions correctes.

Pour en savoir plus, consultez la section Projection multimédia sur les grands écrans.

Un mode multitâche puissant et intuitif

Les utilisateurs effectuent souvent plusieurs tâches à la fois lorsqu'ils utilisent les grands écrans des tablettes, des Chromebooks et des appareils pliables. Les nouvelles fonctionnalités de productivité rendent le mode multitâche encore plus puissant et intuitif.

Une nouvelle barre des tâches permet de lancer des applications et d'en changer à la volée. Les gestes permettent d'utiliser la barre des tâches encore plus rapidement : il suffit de glisser-déposer pour passer en mode Écran partagé et de balayer l'écran vers le haut pour revenir à l'accueil. Dans la navigation par gestes, un geste d'activation rapide permet aux utilisateurs de parcourir les applications récentes. Les utilisateurs peuvent afficher ou masquer la barre des tâches à tout moment en appuyant de manière prolongée dessus.

La barre des tâches permet aux utilisateurs de lancer et de changer d'application plus rapidement, de glisser-déposer pour activer le mode Écran partagé et de balayer l'écran vers le haut pour revenir à l'accueil.

L'exécution d'applications en mode Écran partagé est un mode multitâche populaire. L'écran partagé est plus facile que jamais à découvrir et à utiliser. Les utilisateurs peuvent désormais glisser-déposer leurs applications préférées sur l'écran partagé directement depuis la barre des tâches, ou utiliser une nouvelle action "Diviser" dans l'aperçu pour lancer le mode Écran partagé d'un simple geste.

Pour rendre l'écran partagé plus homogène pour les utilisateurs, Android 12 ou version ultérieure autorise toutes les applications à passer en mode multifenêtre, qu'elles soient redimensionnables ou non.

Pour les développeurs: testez vos applications en mode Écran partagé

Le mode Écran partagé étant devenu plus accessible et avec le changement d'Android 12 qui permet aux utilisateurs de lancer toutes les applications en écran partagé, nous vous recommandons vivement de tester vos applications en mode Écran partagé.

Pour les développeurs: gérer les modifications dynamiques des tailles d'encart

La nouvelle barre des tâches est signalée aux applications sous la forme d'un encart, même si aucune nouvelle API d'encart n'a été introduite.

Lorsqu'elle est utilisée avec la navigation par gestes, la barre des tâches peut être masquée et affichée de manière dynamique. Si votre application utilise déjà les informations d'encart pour dessiner son UI, elle doit tenir compte du fait que la taille de l'encart peut changer lorsque l'application est à l'état de reprise. Dans ce cas, votre application doit appeler setOnApplyWindowInsetsListener et gérer les modifications des dimensions de l'encart, comme décrit dans la section Encarts de barres système.

Expérience de compatibilité améliorée

De nombreuses applications sont déjà optimisées pour les appareils à grand écran et offrent des expériences exceptionnelles grâce aux mises en page responsives, à la compatibilité avec le mode multifenêtre, à la continuité entre la taille d'écran et les changements de position de l'appareil, etc.

Pour les applications qui ne sont pas encore optimisées, le système inclut des améliorations visuelles et de stabilité du mode de compatibilité afin d'offrir une meilleure expérience aux utilisateurs et d'améliorer leur apparence par défaut.

Les améliorations du mode de compatibilité améliorent l'expérience utilisateur pour les applications qui ne sont pas optimisées pour les grands écrans.

Pour améliorer l'interface utilisateur du format letterbox, les fabricants d'appareils peuvent personnaliser un certain nombre d'options via des configurations de superposition. Par exemple, les fabricants d'appareils peuvent désormais configurer le format de l'application, appliquer des angles arrondis à la fenêtre de l'application et définir la transparence de la barre d'état.

Pour les développeurs: vérifier vos applications en mode de compatibilité

Si votre application n'est pas encore optimisée pour s'adapter aux changements de taille d'écran et de position de l'appareil, elle peut être lancée en mode de compatibilité. Nous vous recommandons de tester votre application avec des modes de compatibilité pour vous assurer qu'elle se présente et fonctionne correctement.

Pour en savoir plus, consultez la section letterbox améliorée.

Amélioration du refus de la paume de la main

Les grands écrans sont des surfaces idéales pour la saisie au stylet. Toutefois, lorsque les utilisateurs dessinent, écrivent ou interagissent avec votre application à l'aide d'un stylet, ils touchent parfois l'écran avec la paume de leur main. L'événement tactile peut être signalé à votre application avant que le système ne le reconnaisse et l'ignore comme un contact accidentel avec la paume de la main.

Avant Android 13 (niveau d'API 33), le système annulait les événements tactiles de la paume de la main en envoyant un MotionEvent avec ACTION_CANCEL. Android 13 améliore l'identification du refus de la paume de la main en ajoutant FLAG_CANCELED à l'objet d'événement de mouvement.

Si une pression via la paume de la main est le seul pointeur d'événement tactile, le système annule l'événement en définissant ACTION_CANCEL et FLAG_CANCELED sur l'objet d'événement de mouvement. Si les autres pointeurs sont indisponibles, Android 13 définit ACTION_POINTER_UP et FLAG_CANCELED.

Pour les développeurs: mettre à jour vos écouteurs et gestionnaires d'événements tactiles

Sur Android 12 (niveau d'API 32) et versions antérieures, la détection du refus de la paume de la main n'est possible que pour les événements tactiles à un seul pointeur. Si une pression via la paume de la main est le seul pointeur, le système annule l'événement en définissant ACTION_CANCEL sur l'objet d'événement de mouvement. Si les autres pointeurs impliquent une pression, le système définit ACTION_POINTER_UP, ce qui est insuffisant pour détecter le refus de la paume de la main. Dans les deux cas, FLAG_CANCELED n'est pas défini.

Pour Android 13, mettez à jour vos écouteurs et gestionnaires d'événements tactiles pour qu'ils vérifient FLAG_CANCELED lors de la réception de ACTION_POINTER_UP afin de vous assurer que le refus de la paume de la main et les autres événements annulés sont détectés et gérés.

Autres mises à jour et ressources pour les grands écrans

Modifications apportées à Google Play sur les grands écrans

Pour aider les utilisateurs à trouver plus facilement la meilleure expérience possible sur leurs tablettes, appareils pliables et appareils ChromeOS, Google Play inclut des modifications visant à mettre en avant les applications optimisées pour leurs appareils.

De nouveaux contrôles ont été ajoutés pour évaluer la qualité de chaque application par rapport à nos consignes relatives à la qualité des applications sur grand écran afin de garantir que Google Play affiche les meilleures applications possibles sur ces appareils. Lorsqu'une application n'est pas optimisée pour les grands écrans, une notification s'affiche désormais sur la fiche Play Store de l'application pour les aider à trouver les applications les plus adaptées à leur appareil.

Comme annoncé en août 2021, Play introduit également les classifications des applications spécifiques aux grands écrans. Les utilisateurs pourront ainsi évaluer le fonctionnement de votre application sur leurs appareils à grand écran.

Intégration d'activités avec Jetpack WindowManager

L'intégration d'activités vous permet de profiter de la zone d'affichage supplémentaire des grands écrans en affichant plusieurs activités à la fois, par exemple pour le modèle Liste/Détail. Elle nécessite peu ou pas de refactorisation de votre application. Vous déterminez la manière dont votre application affiche ses activités (côte à côte ou empilées) en créant un fichier de configuration XML ou en effectuant des appels d'API Jetpack WindowManager. Le système se charge du reste, en déterminant la présentation en fonction de la configuration que vous avez créée. Si votre application utilise plusieurs activités, nous vous recommandons d'essayer l'intégration d'activités. Pour en savoir plus, consultez Intégration d'activités.

Demande d'orientation de l'appareil

Contrairement aux téléphones standards, les pliables et les tablettes sont fréquemment utilisés en mode paysage et portrait. Les tablettes sont souvent sur la station d'accueil en mode paysage, tandis que les pliables peuvent être orientés en fonction de leur pli.

Certaines applications demandent une orientation fixe en mode portrait ou paysage et s'attendent à rester dans leur orientation préférée, quelle que soit l'orientation de l'appareil (voir l'attribut manifeste screenOrientation). Bien que cela reste possible, les fabricants d'appareils ont la possibilité d'ignorer la requête d'orientation préférée de l'application.

Sous Android 12 (niveau d'API 31) ou version ultérieure, les fabricants d'appareils peuvent configurer des écrans d'appareils individuels (tels que l'écran de la taille d'une tablette d'un appareil pliable) pour ignorer la spécification d'orientation et forcer la présentation d'une application en mode Portrait à la verticale, mais au format letterbox sur les affichages en mode paysage. En ignorant la spécification, Android peut mieux répondre à l'intention du développeur de toujours présenter une application dans un format fixe tout en laissant l'application orientée pour une facilité d'utilisation optimale.

Toutefois, pour une expérience utilisateur optimale, concevez vos applications avec des mises en page responsives qui exploitent pleinement l'espace disponible à la fois en mode portrait et paysage sur les écrans de plus de 600 dp.

Obtenir Android 13 sur un appareil partenaire à grand écran

Nous nous sommes associés à nos partenaires fabricants d'appareils pour permettre l'essai d'Android 13 sur les appareils à grand écran. Consultez les sites suivants pour consulter la liste des appareils à grand écran éligibles et en savoir plus sur les builds bêta disponibles.

Pour obtenir des mises à jour et de l'assistance, consultez les ressources associées par chaque fabricant sur son site Android 13 bêta. Notez que chaque partenaire vous fournira directement les mises à jour bêta, et gérera ses propres inscriptions et son assistance.

Que faut-il tester ?

Avant de commencer les tests, configurez un appareil virtuel pour Android Emulator dans Android Studio ou installez Android 13 sur un appareil à grand écran auprès de nos fabricants partenaires. Une fois la configuration de votre appareil terminée, vous devez tester votre application avec certains cas d'utilisation courants sur grand écran pour vous assurer qu'elle répond comme vous le souhaitez. Voici quelques recommandations à suivre, ainsi que des liens vers des ressources associées qui peuvent vous aider à optimiser votre application pour les grands écrans:

Que faut-il tester ? Ressources
Tailles d'écran, position de l'appareil et rotation

Vérifiez comment votre application réagit lorsque la taille de l'écran change en raison des changements de position de l'appareil (par exemple, lorsqu'un appareil pliable est déplié ou qu'il est en mode sur table). Essayez également de faire pivoter l'appareil dans chacun de ces états pour vous assurer que votre application répond de manière optimale.

Documentation Exemples Ateliers de programmation Discussions techniques
Interaction avec la barre des tâches et mode Écran partagé

Vérifiez comment votre application réagit lorsqu'elle est affichée avec la barre des tâches sur les grands écrans. Vérifiez que l'interface utilisateur de votre application n'est pas tronquée ni bloquée par la barre des tâches. Essayez d'accéder aux modes Écran partagé et multifenêtre et de les quitter, puis testez le basculement rapide entre votre application et d'autres applications à l'aide de la barre des tâches.

Si votre application a une orientation fixe et n'est pas redimensionnable, vérifiez comment elle réagit aux ajustements du mode de compatibilité tels que le format letterbox.

Documentation Exemples Discussions techniques
Mode multifenêtre

Vérifiez comment votre application réagit lorsqu'elle s'exécute en mode multifenêtre sur les grands écrans (SW = > 600 dp), en particulier si votre application définit resizeableActivity="false".

Si votre application définit resizeableActivity="true", veillez également à vérifier comment elle réagit lorsqu'elle s'exécute en mode multifenêtre sur les petits écrans (SW < 600 dp).

Si votre application utilise des API Display telles que Display.getRealSize() et Display.getRealMetrics(), utilisez plutôt les API WindowMetrics de la bibliothèque Jetpack WindowManager.

Documentation Exemples Discussions techniques
Projection multimédia

Si votre application utilise la projection multimédia, vérifiez comment elle réagit lors de la lecture, du streaming ou de la diffusion de contenus multimédias sur des appareils à grand écran. Veillez également à tenir compte des changements de position de l'appareil sur les appareils pliables.

Documentation Exemples Discussions techniques
Aperçu de l'appareil photo

Pour les applications d'appareil photo, vérifiez comment l'interface utilisateur d'aperçu de l'appareil photo réagit sur les grands écrans lorsque votre application est limitée à une partie de l'écran en mode multifenêtre ou écran partagé. Vérifiez également comment votre application répond lorsque la position d'un appareil pliable change.

Documentation