Foldable Device — notions de base, appareils pliables dans le développement

Auteur : IT Sectr Publié le : 2026-06-09 Temps de lecture : 9 min

Foldable Device (appareil pliable) est une classe de gadgets mobiles dotés d’un écran flexible qui change de facteur de forme lors du pliage et du dépliage. Ces appareils fonctionnent à la fois comme un téléphone compact et comme une tablette, selon la position de l’écran. Selon Android Developers (2025), le marché mondial des appareils pliables a augmenté de 42% en 2024, et l’adaptation des applications à ce facteur de forme devient obligatoire pour les grands projets.

Points clés

  • Foldable Device — appareil avec écran flexible qui change de facteur de forme lors du pliage.
  • Types — style livre (Galaxy Z Fold), style clapet (Galaxy Z Flip), double écran (Surface Duo).
  • Fold State — état de l’appareil : complètement déplié, complètement plié, semi-ouvert (tabletop).
  • Adaptation — l’interface doit se restructurer lorsque la configuration de l’écran change.
  • WindowManager — API Jetpack WindowManager pour gérer les changements d’état des appareils pliables.

Qu’est-ce qu’un Foldable Device ?

Foldable Device est un appareil mobile doté d’un écran OLED flexible capable de se plier sans endommager la matrice. Une fois plié, l’appareil est compact et tient dans une poche ; une fois déplié, il offre un écran de la taille d’une tablette. Le premier appareil pliable grand public fut le Royole FlexPai (2018), mais la catégorie a été popularisée par le Samsung Galaxy Fold (2019) et le Huawei Mate X.

La différence clé entre les appareils pliables et traditionnels est la présence d’une charnière (hinge) et d’un écran flexible. Lors du pliage, l’écran ne se casse pas mais se courbe le long d’un rayon déterminé par la conception de la charnière. Les technologies modernes (UTG — Ultra Thin Glass, 2020+ et Samsung Infinity Flex) peuvent supporter jusqu’à 200 000 cycles de pliage sans dommages visibles.

Pour le développeur, les appareils pliables créent trois défis : les changements de taille d’écran lors du dépliage, la présence d’un pli (crease) et le fonctionnement en état semi-ouvert (tabletop mode), lorsque l’appareil est posé sur une surface inclinée.

Types d’appareils pliables

Style livre (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open. Écran externe (cover screen) pour utilisation plié, écran interne flexible (inner screen) pour le mode tablette. Le rapport hauteur/largeur de l’écran externe est d’environ 22:9, celui de l’écran interne d’environ 6:5 ou 4:3.

Style clapet (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip. Pliage vertical, écran externe pour les notifications (1,5–3,5 pouces), écran interne standard de téléphone (6,7–7 pouces). La principale caractéristique — en état semi-ouvert (flex mode), l’application peut diviser l’écran en deux zones : commandes en haut, contenu en bas.

Double écran — Microsoft Surface Duo, Lenovo ThinkPhone. Deux écrans séparés avec une charnière au milieu. Une fois dépliés, ils forment une zone commune mais avec un espace physique entre les écrans. L’API prend en compte l’angle de la charnière et permet à l’application de s’étendre sur les deux écrans.

API pour appareils pliables sous Android

Google fournit Jetpack WindowManager pour travailler avec les appareils pliables. L’API comprend trois composants clés : WindowLayoutInfo — informations sur l’emplacement du pli (fold), WindowPosture — la position physique de l’appareil et FoldingFeature — description de la zone de pli : orientation, état et angle.

FoldingFeature contient le type de pli (hinge — charnière, fold — écran flexible), l’état (flat — ouvert, half-opened — semi-ouvert, folded — plié) et l’angle de pliage (de 0 à 180 degrés). L’angle est disponible sur les appareils avec capteur d’angle (Galaxy Z Fold, Pixel Fold).

kotlin
val windowInfoRepository =
    WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
    .collect { layoutInfo ->
        layoutInfo.displayFeatures
            .filterIsInstance<FoldingFeature>()
            .forEach { feature ->
                // gérer le pliage
            }
    }

Pour déterminer si un appareil est pliable, utilisez PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle"). Ce capteur est présent sur un appareil avec charnière — absent sur les téléphones ordinaires.

Adaptation de l’interface pour les appareils pliables

L’adaptation de l’interface est la tâche principale du développeur lors du support des appareils pliables. Lors du dépliage, la largeur de la fenêtre peut doubler, et l’interface doit se restructurer d’une colonne unique à plusieurs colonnes. Utilisez Window Size Class pour basculer entre les mises en page — lors du dépliage, la classe passe de Compact à Expanded.

Une attention particulière doit être portée à la gestion des changements de configuration. Lorsque l’utilisateur déplie l’appareil, l’Activity peut être recréée. Si l’application ne sauvegarde pas l’état, l’utilisateur perdra les données saisies ou la position de défilement. Utilisez ViewModel pour les données d’écran et onSaveInstanceState pour l’état de l’interface.

Pour le mode flexible (tabletop mode), la conception doit diviser l’écran en deux zones fonctionnelles. La partie supérieure pour l’affichage du contenu (vidéo, galerie, liste), la partie inférieure pour les commandes (boutons, contrôleurs, clavier). Ce motif est appliqué dans les lecteurs vidéo : YouTube sur Galaxy Z Flip montre la vidéo en haut, les recommandations et les boutons en bas.

Tests sur appareils pliables

Les tests sont l’un des aspects les plus difficiles du développement pour appareils pliables. L’émulateur Android permet de simuler des appareils pliables via AVD avec la configuration « Foldable » (écran interne de 7,6 pouces, écran externe de 4,6 pouces). L’émulateur prend en charge le basculement entre l’état plié et déplié.

Pour les tests dans l’émulateur, on utilise ADB. La commande adb shell am broadcast -a android.intent.action.VIEW -e mode expand déplie l’appareil, adb shell am broadcast -a android.intent.action.VIEW -e mode fold le plie. L’angle de pliage peut également être modifié dans la fenêtre de l’émulateur.

Des tests réels sur appareils physiques sont recommandés pour vérifier la sensation de transition, la qualité de la charnière et la visibilité du pli. Principaux modèles pour les tests : Samsung Galaxy Z Fold 6 (style livre), Samsung Galaxy Z Flip 6 (style clapet), Google Pixel Fold, Motorola Razr 50.

Meilleures pratiques de conception pour appareils pliables

Ne placez pas d’éléments critiques dans la zone du pli. Les boutons, champs de saisie et éléments interactifs doivent être situés à au moins 24 dp de la ligne de pli. Le pli (crease) est une propriété inhérente des écrans flexibles ; sa visibilité diminue avec chaque génération mais ne disparaît pas complètement.

Utilisez la continuité plutôt que l’interruption. Lors du dépliage, le contenu doit passer en douceur de l’écran externe à l’écran interne ou s’étendre sur toute la surface. Évitez de charger une nouvelle Activity — utilisez le recalcul de la mise en page dans le même écran. Jetpack WindowManager suit les changements et notifie l’application via WindowLayoutInfo.

Tenez compte de l’angle de la charnière pour les scénarios créatifs. Dans les applications photo et vidéo, la position semi-ouverte (90°) transforme l’appareil en support : l’appareil photo filme, la partie inférieure de l’écran affiche le panneau de contrôle. Ce scénario est particulièrement populaire dans Samsung Camera et les applications natives.

Foire aux questions

Comment déterminer si un appareil est pliable ?

Vérifiez la présence de PackageManager.FEATURE_SENSOR_HINGE_ANGLE. Si true — l’appareil est pliable avec un capteur d’angle de charnière. Vérifiez également l’API DisplayFold.

Comment gérer la transition du mode plié au mode déplié ?

Abonnez-vous à WindowInfoTracker.windowLayoutInfo(). Lorsque l’état de FoldingFeature change, restructurez l’interface selon Window Size Class et la position du pli.

Quel est le SDK minimum pour les API des appareils pliables ?

Jetpack WindowManager fonctionne sur API 14+. Mais FoldingFeature.HALF_OPENED nécessite API 24+ (Android 7.0). Le capteur de données d’angle de charnière est disponible sur Android 10+.

Dois-je créer des mises en page séparées pour les appareils pliables ?

Non. Utilisez Window Size Class et Layoutomization de Jetpack WindowManager. Un code unique avec vérification de classe de taille remplace les mises en page de ressources séparées.

Les appareils pliables fonctionnent-ils sous l’eau ?

La plupart des appareils pliables ont une protection IP48 ou IP58 — résistance limitée à l’eau. Sous l’eau, l’écran flexible peut être endommagé, donc l’immersion n’est pas recommandée par les fabricants.

Résumé

  • Foldable Device — appareil avec écran flexible qui change la taille de l’écran lors du pliage.
  • Types — style livre (Galaxy Z Fold), style clapet (Galaxy Z Flip), double écran (Surface Duo).
  • Jetpack WindowManager — API pour suivre FoldingFeature, l’état et l’angle de pliage.
  • Window Size Class — basculement entre classes lors du dépliage de l’appareil.
  • Flex mode — division de l’écran en zone d’affichage et de contrôle en état semi-ouvert.
  • Tests — AVD Foldable dans l’émulateur, ADB pour la gestion d’état.
  • Conclusion — les appareils pliables façonnent une nouvelle norme d’expérience mobile, et l’adaptation des applications devient un avantage concurrentiel.

Nous développerons une application mobile clé en main

IT Sectr crée des applications iOS et Android pour les startups et les entreprises depuis 2017. Nous vous conseillerons et vous proposerons la meilleure solution.

Discuter du projet

Lisez aussi