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 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.
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.
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).
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.
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.
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.
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
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.
Abonnez-vous à WindowInfoTracker.windowLayoutInfo(). Lorsque l’état de FoldingFeature change, restructurez l’interface selon Window Size Class et la position du pli.
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+.
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.
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é
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.
Lisez aussi