Les restrictions concernant l'orientation et la redimensionnalisation sont ignorées

Les applications Android fonctionnant désormais sur une multitude d'appareils (téléphones, tablettes, appareils pliables, ordinateurs de bureau, voitures et téléviseurs, par exemple) et de modes de fenêtrage sur les grands écrans (comme l'écran partagé et le fenêtrage de bureau), les développeurs doivent créer des applications Android qui s'adaptent à toutes les tailles d'écran et de fenêtre, quelle que soit l'orientation de l'appareil. Les approches qui limitent l'orientation et le redimensionnement sont trop contraignantes dans le monde multi-appareils d'aujourd'hui.

Ignorer les restrictions d'orientation, de redimensionnement et de format

Pour les applications ciblant Android 17 ou version ultérieure, les restrictions d'orientation, de redimensionnement et de format ne s'appliquent plus aux écrans dont la plus petite largeur est supérieure à 600 dp. Les applications remplissent toute la fenêtre d'affichage, quels que soient le format ou l'orientation préférés de l'utilisateur, et le format pillarbox n'est pas utilisé.

Android 17 supprime la désactivation temporaire pour les développeurs des restrictions d'orientation et de redimensionnement sur les appareils à grand écran qui était disponible dans Android 16.

Cette modification introduit un nouveau comportement standard de la plate-forme. Android évolue vers un modèle où les applications doivent s'adapter à des orientations, tailles d'écran et formats différents. Les restrictions telles que l'orientation fixe ou la taille non modifiable limitent l'adaptabilité des applications. Rendez votre application adaptative pour offrir la meilleure expérience utilisateur possible.

Vous pouvez également tester ce comportement à l'aide du framework de compatibilité des applications et en activant l'indicateur de compatibilité UNIVERSAL_RESIZABLE_BY_DEFAULT.

Modifications destructives courantes

Ignorer les restrictions d'orientation, de redimensionnement et de format peut avoir un impact sur l'UI de votre application sur certains appareils, en particulier sur les éléments conçus pour de petites mises en page verrouillées en mode portrait. Par exemple, les applications peuvent présenter des problèmes tels que des mises en page étirées, ou des animations et des composants apparaissant hors écran. Toute hypothèse que vous faites sur le format ou l'orientation peut entraîner des problèmes visuels dans votre application. Découvrez comment les éviter et améliorer le comportement adaptatif de votre application.

Un problème courant sur les appareils pliables en mode paysage ou pour les calculs de format dans des scénarios tels que le multifenêtre, le fenêtrage sur ordinateur de bureau ou les écrans connectés, se produit lorsque l'aperçu de l'appareil photo apparaît étiré, pivoté ou recadré. Ce problème se produit souvent sur les appareils à grand écran et pliables, car les applications supposent des relations fixes entre les fonctionnalités de l'appareil photo (comme le format et l'orientation du capteur) et les fonctionnalités de l'appareil (comme l'orientation de l'appareil et l'orientation naturelle). En savoir plus sur la gestion de l'aperçu de la caméra

Autoriser la rotation de l'appareil entraîne une recréation plus fréquente de l'activité, ce qui peut entraîner la perte de l'état de l'utilisateur s'il n'est pas correctement conservé. Découvrez comment enregistrer correctement l'état de l'UI dans Enregistrer les états de l'UI.

Détails de l'implémentation

Les attributs de fichier manifeste et les API d'exécution suivants sont ignorés sur les appareils à grand écran en mode plein écran et multifenêtre :

Les valeurs suivantes pour screenOrientation, setRequestedOrientation() et getRequestedOrientation() sont ignorées :

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

Concernant la possibilité de redimensionner l'écran, android:resizeableActivity="false", android:minAspectRatio et android:maxAspectRatio n'ont aucun effet.

Exceptions

Les restrictions d'orientation, de redimensionnement et de format d'Android 17 ne s'appliquent pas dans les cas suivants :

  • Jeux (basés sur l'indicateur android:appCategory)
  • Si les utilisateurs activent explicitement le comportement par défaut de l'application dans les paramètres de format de l'appareil
  • Écrans dont la largeur la plus petite est inférieure à sw600dp