Foldable Device — basi, dispositivi pieghevoli nello sviluppo

Autore: IT Sectr Pubblicato: 2026-06-09 Tempo di lettura: 9 min

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 — dispositivo con display flessibile che cambia fattore di forma quando viene piegato.
  • Tipi — stile libro (Galaxy Z Fold), stile conchiglia (Galaxy Z Flip), doppio schermo (Surface Duo).
  • Fold State — stato del dispositivo: completamente aperto, completamente piegato, semiaperto (tabletop).
  • Adattamento — l’interfaccia deve ristrutturarsi quando cambia la configurazione dello schermo.
  • WindowManager — API Jetpack WindowManager per gestire i cambiamenti di stato del dispositivo pieghevole.

Cos’è un Foldable Device?

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.

Tipi di dispositivi pieghevoli

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.

API per dispositivi pieghevoli in Android

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).

kotlin
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.

Adattamento dell’interfaccia per dispositivi pieghevoli

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.

Test su dispositivi pieghevoli

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.

Migliori pratiche di progettazione per dispositivi pieghevoli

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

Come determinare se un dispositivo è pieghevole?

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.

Come gestire la transizione dalla modalità piegata a quella aperta?

Iscriversi a WindowInfoTracker.windowLayoutInfo(). Quando lo stato di FoldingFeature cambia, ristrutturare l’interfaccia in base a Window Size Class e alla posizione della piega.

Qual è l’SDK minimo per le API dei dispositivi pieghevoli?

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+.

È necessario creare layout separati per i dispositivi pieghevoli?

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.

I dispositivi pieghevoli funzionano sott’acqua?

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

  • Foldable Device — dispositivo con display flessibile che cambia le dimensioni dello schermo quando viene piegato.
  • Tipi — stile libro (Galaxy Z Fold), stile conchiglia (Galaxy Z Flip), doppio schermo (Surface Duo).
  • Jetpack WindowManager — API per tracciare FoldingFeature, stato e angolo di piega.
  • Window Size Class — passaggio tra classi durante l’apertura del dispositivo.
  • Flex mode — divisione dello schermo in area di visualizzazione e controllo quando semiaperto.
  • Test — AVD Foldable nell’emulatore, ADB per la gestione dello stato.
  • Conclusione — i dispositivi pieghevoli stanno plasmando un nuovo standard per l’esperienza mobile, e l’adattamento delle applicazioni sta diventando un vantaggio competitivo.

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.

Discuti il progetto

Leggi anche