L'univers Android ne se limite plus à un seul écran. Téléphones, tablettes, pliableChromeOS, les voitures, la télévision et la réalité étendue coexistent. Avec des tailles, des orientations et des contextes d'utilisation très différents, cette diversité offre une excellente expérience utilisateur, mais représente un défi technique pour votre équipe : concevoir des interfaces et une logique parfaitement adaptées à chaque format. Découvrez ci-dessous comment modifier le format d'image des applications sur ces appareils.
Quels sont les changements apportés par Android 16 sur les grands écrans sw600dp ?
Pour les applications ciblant le niveau d'API 36, Android 16 impose un modèle cohérent de conception adaptative. ce qui ignore plusieurs restrictions traditionnelles lorsque l'appareil appartient à la catégorie des grands écrans. Cela concerne les tablettes, grands écrans internes de téléphones pliables et le mode fenêtre de bureau.
- Attributs ignorés Sur les écrans d'une largeur inférieure ou égale à 600 dp : screenOrientation avec des valeurs telles que portrait ou paysage, resizeableActivity, minAspectRatio et maxAspectRatio.
- Les méthodes liées à l'orientation telles que setRequestedOrientation et getRequestedOrientation ils sont également neutralisés pour des valeurs d'orientation fixes.
- Dans ce contexte, les applications cibles de l'API 36 sont redimensionnables et passent en mode multi-fenêtres, ce qui équivaut à avoir resizeableActivity défini sur true lorsque sw est supérieur ou égal à 600 dp. sans nécessiter de réglages supplémentaires.
Cette approche standardise le comportement et réduit les surprises liées à l'interface utilisateur sur les grands écrans. L'expérience utilisateur prime sur les limitations imposées à une orientation ou un format d'image particulier.Cela implique de revoir les anciennes hypothèses en matière de mise en page et de vues.
Exceptions et cas particuliers concernant l'ajustement du rapport d'aspect
Il existe des situations dans lesquelles le système conserve son comportement antérieur. Les principales exceptions Ces annulations sont les suivantes :
- Écrans avec une résolution inférieure à 600 dp sw, où les restrictions habituelles en matière de manifestes sont toujours respectées dans la plupart des téléphones et les écrans externes de certains téléphones pliables.
- Les jeux identifiés avec l'appCategory manifestent la marque comme jeu, à condition qu'elles soient distribuées avec des Android App Bundles et une signature d'application Play.
- Si l'utilisateur force le comportement par défaut de l'application dans les paramètres de format d'image de l'appareil, cette préférence prévaut.
Comment désactiver temporairement les annulations ?
Si vous avez besoin de temps pour vous adapter, vous pouvez désactiver ce nouveau comportement pour chaque activité ou pour l'ensemble de l'application. Déclarez la propriété du manifeste android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY et vous demandez donc à conserver les anciennes restrictions sur les grands écrans.
- Dans un élément d'activité, ajoutez une propriété nommée android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY et la valeur true pour cette activité spécifique.
- L'élément d'application réplique la même propriété si vous souhaitez appliquer ce comportement à l'ensemble de l'application.
Important : Il s'agit d'un filet de sécurité qui a une date d'expiration. Au niveau d'API 37, le framework éliminera cette possibilité.Par conséquent, dans les versions ultérieures, les restrictions seront toujours ignorées sur les écrans dont la résolution est supérieure ou égale à 600 dp.

Environnement de test et de développement
Pour vérifier l'impact de ces changements, Utilisez les émulateurs Pixel Tablet et Pixel Fold dans Android StudioConfigurez votre module targetSdkPreview avec la valeur Baklava pour commencer la validation.
- Sur les appareils réels, activez l'indicateur UNIVERSAL_RESIZABLE_BY_DEFAULT dans le cadre de compatibilité des applications pour simuler le nouveau comportement.
- Automatisez les tests d'interface avec les API de test Espresso et Jetpack Compose. rotations de couverture, redimensionnement des fenĂŞtres, pliage et multi-fenĂŞtres.
- Si vous ne disposez pas d'une infrastructure physique diversifiée, appuyez-vous sur des fermes de tests comme Firebase Test Lab ou Samsung Remote Test Lab pour les tests à la demande et l'intégration continue.
Problèmes courants et comment les résoudre
Lorsqu'une application supposait une fenêtre fixe, Le passage aux grands écrans et aux postures pliées peut mettre en lumière plusieurs défauts :
- Des composants extensibles horizontalement et verticalement à l'infini. Ajoutez des largeurs maximales et des conteneurs limitant l'expansion pour préserver des proportions harmonieuses.
- Des designs sans défilement qui masquent horizontalement les boutons ou les champs. Activez le défilement lorsque cela est approprié et validez l'accessibilité avec des hauteurs de fenêtres différentes.
- Viseur d'appareil photo avec un format d'image fixe. Assurez-vous de faire pivoter correctement l'aperçu et que Le visualiseur s'adapte au format d'image de l'interface utilisateur. différent de celui du capteur.
- Perte d'état lors du redimensionnement ou de la rotation. Préservez l'état grâce à ViewModel, rememberSaveable dans Compose et les modèles de remontée d'état. éviter les loisirs destructeurs.
- Hypothèses de taille statique. Modélisez l'interface utilisateur avec des classes de taille de fenêtre et adoptez des mises en page réactives qui réagissent aux changements fréquents.
Conception réactive et adaptable des livres pliants
Une conception adaptative garantit que l'application s'affiche correctement sur de nombreuses tailles d'écran, mais avec les appareils pliables, il faut aller plus loin. La conception adaptative permet des variantes optimisées pour écrans pliés et déployéou des positions comme table et livre.
Déplié horizontalement, un écran pliable grand format se comporte comme une tablette. Un motif à deux panneaux avec un rail de navigation Profitez de l'espace disponible. Une fois replié, l'affichage sur une seule colonne avec une barre inférieure est clair et direct.
Les dispositifs se replient vers l'intérieur ou vers l'extérieur, et le pli peut être flexible ou constituer une charnière avec occlusion. Notez que le type d'occlusion FULL est utilisé sur les appareils à double écran. comme certains formats, où le contenu ne doit pas être affiché dans la zone de charnière.
- États typiques : PLAT, complètement ouvert, et SEMI-OUVERT, quelque part entre les deux.
- Positions en mode HALF_OPENED : position du tableau lorsque le pli est horizontal, et la position du livre lorsqu'il est vertical.
- Évitez les commandes situées près du pli, placez les boîtes de dialogue et les menus contextuels en dehors de la zone d'occlusion et répartissez le contenu dans les zones gauche et droite ou supérieure et inférieure en fonction de la posture.
Pour commencer avec un design réactif simple dans Compose, BoxWithConstraints vous permet d'adapter le contenu à l'espace disponible. disponibles, puis adapter les variations à des postures plus riches.
Classes de taille de fenĂŞtre et Compose
Avant d'aborder la question des seuils, rappelons nos unités : px représente des pixels physiquesLa valeur de dp s'adapte à la densité d'affichage, tandis que sp ajoute des options de personnalisation, idéales pour la typographie. Utilisez dp et sp pour garantir une interface utilisateur cohérente quelle que soit la densité d'affichage.
L'écosystème récent recommande de classer les fenêtres en trois sections. En largeur et en hauteur, Compact, Moyen et Étendu Ils couvrent la plupart des cas :
- 0 à 599 dp Compact, généralement mobile verticalement.
- 600 Ă 839 dp Moyen, mobile pliable vertical ou tablette verticale.
- 840 dp ou plus. Étendu, mobile en mode paysage, pliable en mode paysage ou tablette en mode paysage.
Avec la bibliothèque de classes de taille de fenêtre Material 3, La classe calculateWindowSizeClass renvoie une image de la taille actuelle. Pour définir la mise en page, si vous préférez un contrôle total, implémentez la fonction rememberWindowSize et catégorisez la largeur et la hauteur selon vos propres limites.
Cette classification vous permet de définir des modèles sous forme de liste dans Compact et Grille à colonnes variables en format Moyen et Étenduainsi que d'augmenter la taille des polices ou les marges lorsque cela est pertinent.
Manifeste, liberté de changement de taille et continuité
De nombreuses applications plus anciennes comportent trois lignes problématiques : maxAspectRatio limité, resizeableActivity défini sur false et screenOrientation verrouillé. Les supprimer est la première étape vers un comportement sain et fluideet fondamental avec Android 16.
Observez les modifications de configuration avec LocalConfiguration dans Compose ou le rappel onConfigurationChanged dans les vues, pour comprendre comment screenWidthDp, screenHeightDp et l'orientation varient pendant que l'utilisateur redimensionne ou fait pivoter.
Surveillez également le cycle de vie de l'activité. En redimensionnant considérablement l'activité, celle-ci peut être recréée. Depuis l'API 24, mais pas dans les modifications mineures. Elle ajoute un LifecycleEventObserver pour voir quels événements sont déclenchés lors de la réduction, du retour au premier plan et du redimensionnement.
Dans Compose, n'oubliez pas que l'état est conservé entre les recompositions, mais pas entre les recréations d'activité. rememberSaveable prend en charge le stockage dans savedInstanceState et évite ainsi de perdre, par exemple, le développement d'un en-tête ou la position de défilement après un redimensionnement.
Lorsque vous exposez un état au ViewModel, placez l'initialisation lourde dans son init. Vous éviterez ainsi de répéter les appels réseau ou les appels ES de fichiers. si l'activité est détruite et recréée plusieurs fois lors de tests en mode libre.
Multi-fenêtres, glisser-déposer et productivité
Sur les grands écrans, Android 12 et versions ultérieures utilisent le mode multi-fenêtres par défaut. Les applications coexistent en mode écran partagé et en mode fenêtre de bureau où ils se déplacent et se redimensionnent comme sur un ordinateur de bureau traditionnel.
Ce contexte permet des fonctionnalités puissantes comme le glisser-déposer entre applications. Mettre en œuvre le système de glisser-déposer déplacer des images, du texte ou des fichiers par des gestes naturels et les intégrer dans des scénarios de productivité réels.
Outils, kits de développement logiciel et écosystème
Jetpack Compose est aujourd'hui la solution moderne de choix pour les interfaces utilisateur déclaratives. Sa réactivité permet de percevoir facilement les changements de fenêtre et de posture., composer des variantes et préserver l'état.
Flutter a fait des progrès dans la prise en charge des appareils pliables, permettant la création d'applications natives pour Android et iOS. interfaces adaptatives cohérentesDe plus, Samsung propose un kit de développement logiciel (SDK) dédié aux appareils pliables Galaxy, comprenant des simulateurs et des émulateurs permettant de valider les modes d'écran avant leur commercialisation.
Si vous travaillez avec des ressources classiques, souvenez-vous de la famille de densités ldpi, mdpi, hdpi, xhdpi, xxhdpi et xxxhdpi. Les vecteurs permettent de réduire les matrices par densité.et les critères de qualification relatifs à la taille et à l'orientation restent valables dans des cas spécifiques.
Exemple concret : la refonte de Google Wallet pour les appareils pliables
L'une des applications populaires qui a franchi le pas est Wallet. Dans les appareils pliables de type Fold, avec un rapport hauteur/largeur proche de 4:3Son interface utilisateur a évolué, passant d'une extension peu pratique de cartes à un système à deux panneaux qui utilise mieux l'espace.
Le sélecteur de cartes de paiement se trouve désormais dans une colonne, et les cartes de fidélité occupent l'autre moitié avec un défilement vertical. Les éléments reprennent leurs dimensions naturelles au lieu de se dilater de façon ridicule.Bien qu'une zone visuellement plus vide apparaisse, la lisibilité et le contrôle s'en trouvent nettement améliorés. Ce type de décision illustre la philosophie de conception adaptative : privilégier la structure et la hiérarchie plutôt que le remplissage de pixels.
Conseils pratiques pour les utilisateurs d'un ordinateur portable pliable récemment lancé
Si vous remarquez que les applications sont agrandies ou étirées sur un Fold moderne, accédez aux paramètres de format d'image de chaque application sur l'appareil. Certaines couches permettent de forcer l'affichage plein écran ou un format d'image spécifique.L'impact varie selon l'application. Notez que sous Android 16, les utilisateurs peuvent activer le comportement par défaut de l'application dans les paramètres de format d'image, ce qui influencera le résultat final.
Néanmoins, la balle est dans le camp du promoteur. Lorsque l'application adopte des conceptions réactives et conserve l'étatL'expérience consistant à déployer, faire pivoter ou séparer les fenêtres cesse d'être une corvée et devient un bonus addictif.
Caméra, continuité et détails qui font toute la différence
Les aperçus de la caméra adoptent généralement un format d'image fixe. Sur les écrans non conformes, les images peuvent apparaître étirées ou inversées.Veillez à faire pivoter le viseur lors des changements d'orientation et à autoriser les viseurs qui s'adaptent aux proportions d'interface utilisateur différentes de celles du capteur.
La continuité est cruciale lors du passage de l'écran extérieur à l'écran intérieur. Si l'utilisateur ouvre un e-mail dans le petit panneauUne fois développée, la liste et les détails doivent s'afficher dans deux panneaux sans perdre le focus. Le texte des champs, l'état du clavier, la position de défilement et la lecture multimédia doivent rester inchangés.
Calendrier et exigences de publication
Dans Android 16, en 2025, La compatibilité avec toutes les orientations, tous les formats d'image et le redimensionnement devient la norme pour les grands écrans. pour les applications cibles API 36, avec la possibilité de la désactiver temporairement comme expliqué.
Les dates cibles de l'API varient selon les plateformes, mais Google Play a établi un calendrier général : À partir d'août 2026, l'API cible 36 sera requise.Il est préférable de planifier la migration dès maintenant afin de garantir des tests, des refontes et des améliorations d'état en temps opportun.
Au-delà des téléphones pliables : Wear OS et autres écrans
Bien que l'accent soit mis ici sur les montres pliables, le principe est le même pour les montres en général. Sous Wear OS, l'interaction par simple regard est reine.Avec des tuiles, des complications et des notifications compactes qui apportent de la valeur en quelques secondes, et non en quelques minutes.
Compose pour Wear OS et Material 3 facilite la gestion de composants tels que ScalingLazyColumn pour les surfaces courbes. Optimise la batterie et les performances Réduisez au minimum la charge réseau et de traitement, et tirez parti de l'API des services de santé pour les capteurs. Lors de la conception, privilégiez les grandes zones tactiles, les gestes simples et la commande vocale.
Le marché des écrans dynamiques connaît une évolution manifeste. Android 16 incite les applications à abandonner les orientations et les formats d'image fixes. Sur les grands écrans, l'utilisation de plusieurs fenêtres, le repliage des fenêtres et le glisser-déposer ne sont plus des exceptions, mais la norme. Grâce à une conception adaptative basée sur les classes de taille de fenêtre, une architecture préservant l'état, des tests réalistes et une attention particulière aux détails comme la caméra, votre application s'affiche parfaitement sur tous les écrans, offrant une expérience utilisateur optimale. Partagez ce guide et davantage d'utilisateurs sauront comment ajuster le format d'image de leurs applications sur Android..