Foldable Device (dispositivo pieghevole) è una classe di gadget mobili con un display flessibile che cambia fattore di forma quando viene piegato e aperto. Questi dispositivi funzionano sia come telefono compatto che come tablet, a seconda della posizione dello schermo. Secondo Android Developers (2025), il mercato globale dei dispositivi pieghevoli è cresciuto del 42% nel 2024, e l’adattamento delle applicazioni a questo fattore di forma sta diventando obbligatorio per i grandi progetti.
Punti chiave
Foldable Device è un dispositivo mobile con un display OLED flessibile in grado di piegarsi senza danneggiare la matrice. Quando è piegato, il dispositivo è compatto e sta in tasca; quando è aperto, offre uno schermo delle dimensioni di un tablet. Il primo dispositivo pieghevole di massa è stato il Royole FlexPai (2018), ma la categoria è stata resa popolare dal Samsung Galaxy Fold (2019) e dall’Huawei Mate X.
La differenza principale tra dispositivi pieghevoli e tradizionali è la presenza di una cerniera (hinge) e di un display flessibile. Quando si piega, il display non si rompe ma si curva lungo un raggio determinato dal design della cerniera. Le tecnologie moderne (UTG — Ultra Thin Glass, 2020+ e Samsung Infinity Flex) possono sopportare fino a 200.000 cicli di piegatura senza danni visibili.
Per lo sviluppatore, i dispositivi pieghevoli creano tre sfide: cambiamenti nelle dimensioni dello schermo durante l’apertura, presenza di una piega (crease) e funzionamento in stato semiaperto (tabletop mode), quando il dispositivo è appoggiato su una superficie inclinata.
Stile libro (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open. Schermo esterno (cover screen) per l’uso quando è piegato, display flessibile interno (inner screen) per la modalità tablet. Le proporzioni dello schermo esterno sono circa 22:9, quelle dello schermo interno circa 6:5 o 4:3.
Stile conchiglia (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip. Piegatura verticale, display esterno per le notifiche (1,5–3,5 pollici), display interno standard del telefono (6,7–7 pollici). La caratteristica principale — quando è semiaperto (flex mode), l’applicazione può dividere lo schermo in due zone: comandi in alto, contenuto in basso.
Doppio schermo — Microsoft Surface Duo, Lenovo ThinkPhone. Due display separati con una cerniera al centro. Quando vengono aperti, formano un’area comune ma con uno spazio fisico tra gli schermi. L’API considera l’angolo della cerniera e consente all’applicazione di estendersi su entrambi gli schermi.
Google fornisce Jetpack WindowManager per lavorare con dispositivi pieghevoli. L’API include tre componenti chiave: WindowLayoutInfo — informazioni sulla posizione della piega (fold), WindowPosture — la posizione fisica del dispositivo e FoldingFeature — descrizione dell’area di piega: orientamento, stato e angolo.
FoldingFeature contiene il tipo di piega (hinge — cerniera, fold — display flessibile), lo stato (flat — aperto, half-opened — semiaperto, folded — piegato) e l’angolo di piega (da 0 a 180 gradi). L’angolo è disponibile sui dispositivi con sensore d’angolo (Galaxy Z Fold, Pixel Fold).
val windowInfoRepository =
WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
.collect { layoutInfo ->
layoutInfo.displayFeatures
.filterIsInstance<FoldingFeature>()
.forEach { feature ->
// gestire la piegatura
}
}
Per determinare se un dispositivo è pieghevole, utilizzare PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle"). Questo sensore è presente su un dispositivo con cerniera — assente sui telefoni normali.
L’adattamento dell’interfaccia è il compito principale dello sviluppatore quando supporta dispositivi pieghevoli. Durante l’apertura, la larghezza della finestra può raddoppiare e l’interfaccia deve ristrutturarsi da una colonna singola a più colonne. Utilizzare Window Size Class per passare da un layout all’altro — durante l’apertura, la classe passa da Compact a Expanded.
Prestare particolare attenzione alla gestione dei cambiamenti di configurazione. Quando l’utente apre il dispositivo, l’Activity potrebbe essere ricreata. Se l’applicazione non salva lo stato, l’utente perderà i dati inseriti o la posizione di scorrimento. Utilizzare ViewModel per i dati dello schermo e onSaveInstanceState per lo stato dell’interfaccia.
Per la modalità flessibile (tabletop mode), il design deve dividere lo schermo in due zone funzionali. Quella superiore per la visualizzazione dei contenuti (video, galleria, elenco), quella inferiore per i comandi (pulsanti, controller, tastiera). Questo modello viene applicato nei lettori video: YouTube su Galaxy Z Flip mostra il video in alto, raccomandazioni e pulsanti in basso.
Il testing è uno degli aspetti più difficili dello sviluppo per dispositivi pieghevoli. L’Emulatore Android consente di simulare dispositivi pieghevoli tramite AVD con la configurazione « Foldable » (display interno da 7,6 pollici, display esterno da 4,6 pollici). L’emulatore supporta il passaggio tra stato piegato e aperto.
Per i test nell’emulatore si utilizza ADB. Il comando adb shell am broadcast -a android.intent.action.VIEW -e mode expand apre il dispositivo, adb shell am broadcast -a android.intent.action.VIEW -e mode fold lo piega. L’angolo di piega può essere modificato anche nella finestra dell’emulatore.
Si consiglia di eseguire test reali su dispositivi fisici per verificare la sensazione della transizione, la qualità della cerniera e la visibilità della piega. Modelli principali per i test: Samsung Galaxy Z Fold 6 (stile libro), Samsung Galaxy Z Flip 6 (stile conchiglia), Google Pixel Fold, Motorola Razr 50.
Non posizionare elementi critici nell’area della piega. Pulsanti, campi di input ed elementi interattivi devono trovarsi ad almeno 24 dp dalla linea di piega. La piega (crease) è una proprietà intrinseca dei display flessibili; la sua visibilità diminuisce con ogni generazione ma non scompare completamente.
Utilizzare la continuità invece dell’interruzione. Durante l’apertura, il contenuto deve fluire senza soluzione di continuità dallo schermo esterno a quello interno o espandersi su tutta l’area. Evitare di caricare una nuova Activity — utilizzare il ricalcolo del layout nello stesso schermo. Jetpack WindowManager traccia i cambiamenti e notifica l’applicazione tramite WindowLayoutInfo.
Considerare l’angolo della cerniera per scenari creativi. Nelle applicazioni foto e video, la posizione semiaperta (90°) trasforma il dispositivo in un supporto: la fotocamera riprende, la parte inferiore dello schermo mostra il pannello di controllo. Questo scenario è particolarmente popolare in Samsung Camera e nelle applicazioni native.
Domande frequenti
Verificare la presenza di PackageManager.FEATURE_SENSOR_HINGE_ANGLE. Se true — il dispositivo è pieghevole con sensore d’angolo della cerniera. Inoltre, verificare l’API DisplayFold.
Iscriversi a WindowInfoTracker.windowLayoutInfo(). Quando lo stato di FoldingFeature cambia, ristrutturare l’interfaccia in base a Window Size Class e alla posizione della piega.
Jetpack WindowManager funziona su API 14+. Ma FoldingFeature.HALF_OPENED richiede API 24+ (Android 7.0). Il sensore dati dell’angolo della cerniera è disponibile su Android 10+.
No. Utilizzare Window Size Class e Layoutomization di Jetpack WindowManager. Un unico codice con verifica della classe di dimensione sostituisce i layout di risorse separati.
La maggior parte dei dispositivi pieghevoli ha protezione IP48 o IP58 — resistenza all’acqua limitata. Sott’acqua, il display flessibile potrebbe danneggiarsi, quindi l’immersione non è raccomandata dai produttori.
Riepilogo
Svilupperemo un'applicazione mobile chiavi in mano
IT Sectr crea applicazioni iOS e Android per startup e aziende dal 2017. Ti consulteremo e ti proporremo la soluzione migliore.
Leggi anche