Foldable Device (dispozitiv pliabil) — este o clasă de gadgeturi mobile cu ecran flexibil care își schimbă factorul de formă la pliere și desfășurare. Astfel de dispozitive funcționează atât ca telefon compact, cât și ca tabletă — în funcție de poziția ecranului. Potrivit Android Developers (2025), piața globală a dispozitivelor pliabile a crescut cu 42% în 2024, iar adaptarea aplicațiilor la acest factor de formă devine obligatorie pentru proiecte mari.
Principalele
Foldable Device — este un dispozitiv mobil cu ecran OLED flexibil care se poate plia fără a deteriora matricea. În stare pliată, un astfel de dispozitiv este compact și încape în buzunar, iar în stare desfășurată oferă un ecran de dimensiunea unei tablete. Primul dispozitiv pliabil de masă a fost Royole FlexPai (2018), dar categoria a fost popularizată de Samsung Galaxy Fold (2019) și Huawei Mate X.
Diferența cheie între dispozitivele pliabile și cele tradiționale este prezența balamalei (hinge) și a ecranului flexibil. La pliere, ecranul nu se sparge, ci se îndoaie pe o rază determinată de construcția balamalei. Tehnologiile moderne (UTG — Ultra Thin Glass, 2020+ și Samsung Infinity Flex) permit rezistarea a până la 200.000 de cicluri de pliere fără deteriorare vizibilă.
Pentru dezvoltatori, dispozitivele pliabile creează trei provocări: modificarea dimensiunii ecranului la desfășurare, prezența șanțului (crease) și funcționarea în stare semi-deschisă (tabletop mode), când dispozitivul stă pe o suprafață sub un unghi.
Tip carte (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open. Ecran extern (cover screen) pentru utilizare în stare pliată, ecran intern flexibil (inner screen) pentru modul tabletă. Raportul de aspect al ecranului extern este de aproximativ 22:9, al celui intern — aproximativ 6:5 sau 4:3.
Tip flip (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip. Pliere verticală, ecran extern pentru notificări (1.5–3.5 inci), ecran intern — telefon standard (6.7–7 inci). Caracteristica principală — la semi-deschidere (flex mode), aplicația poate împărți ecranul în două zone: control sus, conținut jos.
Ecran dublu — Microsoft Surface Duo, Lenovo ThinkPhone. Două ecrane separate cu o balama în mijloc. La desfășurare, formează o suprafață comună, dar cu un spațiu fizic între ecrane. API-ul ia în considerare unghiul balamalei și permite aplicației să se extindă pe ambele ecrane.
Google oferă Jetpack WindowManager pentru lucrul cu dispozitivele pliabile. API include trei componente cheie: WindowLayoutInfo — informații despre locația pliului (fold), WindowPosture — poziția fizică a dispozitivului și FoldingFeature — descrierea zonei de îndoire: orientare, stare și unghi.
FoldingFeature conține tipul de pliere (hinge — balama, fold — ecran flexibil), starea (flat — deschis, half-opened — semi-deschis, folded — pliat) și unghiul de îndoire (de la 0 la 180 de grade). Unghiul este disponibil pe dispozitivele cu senzor de unghi (Galaxy Z Fold, Pixel Fold).
val windowInfoRepository =
WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
.collect { layoutInfo ->
layoutInfo.displayFeatures
.filterIsInstance<FoldingFeature>()
.forEach { feature ->
// gestionarea plierii
}
}
Pentru a determina dacă dispozitivul este pliabil, utilizați PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle"). Pe un dispozitiv cu balama, acest senzor este prezent — pe telefoanele obișnuite lipsește.
Adaptarea interfeței — sarcina principală a dezvoltatorului la suportul dispozitivelor pliabile. La desfășurare, lățimea ferestrei se poate dubla, iar interfața trebuie să se rearanjeze dintr-un singură coloană în mai multe coloane. Utilizați Window Size Class pentru comutarea între layout-uri — la desfășurare, clasa se schimbă din Compact în Expanded.
Acordați o atenție deosebită gestionării modificărilor de configurare. Când utilizatorul desfășoară dispozitivul, Activity poate fi recreat. Dacă aplicația nu salvează starea, utilizatorul va pierde datele introduse sau poziția de derulare. Utilizați ViewModel pentru datele ecranului și onSaveInstanceState pentru starea UI.
Pentru flex mode (tabletop mode), designul trebuie să împartă ecranul în două zone funcționale. Partea superioară — vizualizare conținut (video, galerie, listă), partea inferioară — control (butoane, controllere, tastatură). Acest model este utilizat în playerele video: YouTube pe Galaxy Z Flip arată videoul sus, recomandările și butoanele jos.
Testarea — unul dintre cele mai dificile aspecte ale dezvoltării pentru dispozitive pliabile. Android Emulator permite simularea dispozitivelor pliabile prin AVD cu configurația "Foldable" (ecran intern de 7.6 inci, ecran extern de 4.6 inci). Emulatorul acceptă comutarea între starea pliată și desfășurată.
Pentru testare în emulator se utilizează ADB. Comanda adb shell am broadcast -a android.intent.action.VIEW -e mode expand desfășoară dispozitivul, adb shell am broadcast -a android.intent.action.VIEW -e mode fold îl pliază. De asemenea, se poate modifica unghiul de îndoire în fereastra emulatorului.
Testarea reală pe dispozitive fizice este recomandată pentru a verifica senzația de tranziție, calitatea balamalei și vizibilitatea șanțului. Principalele modele pentru testare: Samsung Galaxy Z Fold 6 (tip carte), Samsung Galaxy Z Flip 6 (tip flip), Google Pixel Fold, Motorola Razr 50.
Nu plasați elemente critice în zona de îndoire. Butoanele, câmpurile de introducere și elementele interactive trebuie să se afle la o distanță de minimum 24 dp de linia de îndoire. Șanțul (crease) — o proprietate inerentă a ecranelor flexibile, vizibilitatea sa scade cu fiecare generație, dar nu dispare complet.
Utilizați continuarea în loc de întrerupere. La desfășurare, conținutul trebuie să treacă fluent de pe ecranul extern pe cel intern sau să se extindă pe întreaga suprafață. Evitați încărcarea unui nou Activity — utilizați recalcularea layout-ului în cadrul aceluiași ecran. Jetpack WindowManager urmărește modificările și notifică aplicația prin WindowLayoutInfo.
Luați în considerare unghiul balamalei pentru scenarii creative. În aplicațiile foto și video, poziția semi-deschisă (90°) transformă dispozitivul într-un suport: camera filmează, partea inferioară a ecranului arată panoul de control. Acest scenariu este deosebit de popular în Samsung Camera și aplicațiile native.
Întrebări frecvente
Verificați prezența PackageManager.FEATURE_SENSOR_HINGE_ANGLE. Dacă este true — dispozitivul este pliabil cu senzor de unghi al balamalei. Verificați suplimentar DisplayFold API.
Abonați-vă la WindowInfoTracker.windowLayoutInfo(). La modificarea stării FoldingFeature, rearanjați interfața în conformitate cu Window Size Class și poziția pliului.
Jetpack WindowManager funcționează pe API 14+. Dar pentru FoldingFeature.HALF_OPENED este necesar API 24+ (Android 7.0). Senzorul de unghi al balamalei este disponibil pe Android 10+.
Nu. Utilizați Window Size Class și Layoutomization din Jetpack WindowManager. Un cod unic cu verificarea clasei de dimensiune va înlocui layout-urile separate de resurse.
Majoritatea dispozitivelor pliabile au protecție IP48 sau IP58 — impermeabilitate limitată. Sub apă, ecranul flexibil poate fi deteriorat, prin urmare scufundarea nu este recomandată de producători.
Concluzii
Vom dezvolta o aplicație mobilă la cheie
IT Sectr creează aplicații iOS și Android pentru startup-uri și afaceri din 2017. Vă vom consilia și vă vom propune cea mai bună soluție.
Citiți și