Foldable Device — podstawy, urządzenia składane w rozwoju

Autor: IT Sectr Opublikowano: 2026-06-09 Czas czytania: 9 min

Foldable Device (urządzenie składane) — to klasa mobilnych gadżetów z elastycznym wyświetlaczem, który zmienia formę podczas składania i rozkładania. Takie urządzenia działają zarówno jako kompaktowy telefon, jak i tablet — w zależności od położenia ekranu. Według Android Developers (2025), globalny rynek urządzeń składanych wzrósł o 42% w 2024 roku, a dostosowanie aplikacji do tego formatu staje się obowiązkowe dla dużych projektów.

Najważniejsze

  • Foldable Device — urządzenie z elastycznym wyświetlaczem, zmieniające formę podczas składania.
  • Typy — książkowe (Galaxy Z Fold), klapki (Galaxy Z Flip), podwójny ekran (Surface Duo).
  • Fold State — stan urządzenia: całkowicie rozłożone, całkowicie złożone, półrozłożone (tabletop).
  • Adaptacja — interfejs musi się przebudowywać przy zmianie konfiguracji ekranu.
  • WindowManager — Jetpack WindowManager API do obsługi zmian stanu urządzenia składanego.

Czym jest Foldable Device?

Foldable Device — to urządzenie mobilne z elastycznym wyświetlaczem OLED, który może się składać bez uszkodzenia matrycy. W stanie złożonym takie urządzenie jest kompaktowe i mieści się w kieszeni, w stanie rozłożonym zapewnia ekran wielkości tabletu. Pierwszym masowo produkowanym urządzeniem składanym był Royole FlexPai (2018), ale kategorię spopularyzowały Samsung Galaxy Fold (2019) i Huawei Mate X.

Kluczową różnicą między urządzeniami składanymi a tradycyjnymi jest obecność zawiasu (hinge) i elastycznego wyświetlacza. Podczas składania wyświetlacz nie pęka, ale wygina się po promieniu określonym przez konstrukcję zawiasu. Nowoczesne technologie (UTG — Ultra Thin Glass, 2020+ i Samsung Infinity Flex) pozwalają wytrzymać do 200 000 cykli składania bez widocznych uszkodzeń.

Dla programisty urządzenia składane stwarzają trzy wyzwania: zmiana rozmiaru ekranu podczas rozkładania, obecność zaginięcia (crease) i praca w stanie półotwartym (tabletop mode), gdy urządzenie stoi na powierzchni pod kątem.

Rodzaje urządzeń składanych

Książkowe (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open. Zewnętrzny ekran (cover screen) do użytku w stanie złożonym, wewnętrzny elastyczny wyświetlacz (inner screen) do trybu tabletu. Proporcje zewnętrznego ekranu — około 22:9, wewnętrznego — około 6:5 lub 4:3.

Klapki (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip. Składanie pionowe, zewnętrzny wyświetlacz do powiadomień (1.5–3.5 cala), wewnętrzny — standardowy telefon (6.7–7 cali). Główna cecha — przy półotwarciu (flex mode) aplikacja może podzielić ekran na dwie strefy: sterowanie u góry, treść na dole.

Podwójny ekran — Microsoft Surface Duo, Lenovo ThinkPhone. Dwa oddzielne wyświetlacze z zawiasem pośrodku. Po rozłożeniu tworzą wspólną powierzchnię, ale z fizyczną szczeliną między ekranami. API uwzględnia kąt zawiasu i pozwala aplikacji rozciągać się na oba ekrany.

API dla urządzeń składanych w Androidzie

Google udostępnia Jetpack WindowManager do pracy z urządzeniami składanymi. API obejmuje trzy kluczowe komponenty: WindowLayoutInfo — informacje o położeniu składania (fold), WindowPosture — fizyczne położenie urządzenia oraz FoldingFeature — opis obszaru zgięcia: orientacja, stan i kąt.

FoldingFeature zawiera typ składania (hinge — zawias, fold — elastyczny ekran), stan (flat — rozłożone, half-opened — półotwarte, folded — złożone) i kąt zgięcia (od 0 do 180 stopni). Kąt jest dostępny na urządzeniach z czujnikiem kąta (Galaxy Z Fold, Pixel Fold).

kotlin
val windowInfoRepository =
    WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
    .collect { layoutInfo ->
        layoutInfo.displayFeatures
            .filterIsInstance<FoldingFeature>()
            .forEach { feature ->
                // obsługa składania
            }
    }

Aby określić, czy urządzenie jest składane, użyj PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle"). Na urządzeniu z zawiasem ten czujnik jest obecny — na zwykłych telefonach go brak.

Dostosowanie interfejsu do urządzeń składanych

Dostosowanie interfejsu — główne zadanie programisty przy obsłudze urządzeń składanych. Podczas rozkładania szerokość okna może się podwoić, a interfejs musi się przebudować z jednokolumnowego na wielokolumnowy. Użyj Window Size Class do przełączania między układami — podczas rozkładania klasa zmienia się z Compact na Expanded.

Szczególną uwagę należy poświęcić obsłudze zmian konfiguracji. Gdy użytkownik rozkłada urządzenie, Activity może zostać odtworzone. Jeśli aplikacja nie zapisuje stanu, użytkownik straci wprowadzone dane lub pozycję przewijania. Użyj ViewModel do danych ekranowych i onSaveInstanceState do stanu interfejsu.

Dla flex mode (tabletop mode) projekt powinien dzielić ekran na dwie funkcjonalne strefy. Górna — przeglądanie treści (wideo, galeria, lista), dolna — sterowanie (przyciski, kontrolery, klawiatura). Ten wzorzec jest stosowany w odtwarzaczach wideo: YouTube na Galaxy Z Flip pokazuje wideo u góry, rekomendacje i przyciski na dole.

Testowanie na urządzeniach składanych

Testowanie — jeden z najtrudniejszych aspektów tworzenia aplikacji na urządzenia składane. Android Emulator pozwala symulować urządzenia składane poprzez AVD z konfiguracją "Foldable" (wewnętrzny 7.6-calowy wyświetlacz, zewnętrzny 4.6-calowy). Emulator obsługuje przełączanie między stanem złożonym a rozłożonym.

Do testowania w emulatorze używa się ADB. Polecenie adb shell am broadcast -a android.intent.action.VIEW -e mode expand rozkłada urządzenie, adb shell am broadcast -a android.intent.action.VIEW -e mode fold składa. Można również zmieniać kąt zgięcia w oknie emulatora.

Rzeczywiste testowanie na fizycznych urządzeniach jest zalecane do sprawdzenia odczucia przejścia, jakości zawiasu i widoczności zaginięcia. Główne modele do testów: Samsung Galaxy Z Fold 6 (książkowy), Samsung Galaxy Z Flip 6 (klapka), Google Pixel Fold, Motorola Razr 50.

Zalecenia projektowe dla urządzeń składanych

Nie umieszczaj krytycznie ważnych elementów w obszarze zgięcia. Przyciski, pola wprowadzania i elementy interaktywne powinny znajdować się w odległości co najmniej 24 dp od linii zgięcia. Zaginięcie (crease) — nieodłączna właściwość elastycznych ekranów, jego widoczność zmniejsza się z każdą generacją, ale całkowicie nie znika.

Stosuj kontynuację zamiast przerwy. Podczas rozkładania treść powinna płynnie przechodzić z zewnętrznego na wewnętrzny ekran lub rozszerzać się na całą powierzchnię. Unikaj ładowania nowego Activity — użyj przeliczenia układu w ramach tego samego ekranu. Jetpack WindowManager śledzi zmiany i powiadamia aplikację przez WindowLayoutInfo.

Uwzględnij kąt zawiasu dla kreatywnych scenariuszy. W aplikacjach foto i wideo półotwarte położenie (90°) zamienia urządzenie w podstawkę: aparat nagrywa, dolna część ekranu pokazuje panel sterowania. Ten scenariusz jest szczególnie popularny w Samsung Camera i natywnych aplikacjach.

Często zadawane pytania

Jak określić, czy urządzenie jest składane?

Sprawdź obecność PackageManager.FEATURE_SENSOR_HINGE_ANGLE. Jeśli true — urządzenie jest składane z czujnikiem kąta zawiasu. Dodatkowo sprawdź DisplayFold API.

Jak obsłużyć przejście ze stanu złożonego do rozłożonego?

Zasubskrybuj WindowInfoTracker.windowLayoutInfo(). Przy zmianie stanu FoldingFeature przebudowuj interfejs zgodnie z Window Size Class i położeniem zgięcia.

Jaki jest minimalny SDK dla API urządzeń składanych?

Jetpack WindowManager działa na API 14+. Ale dla FoldingFeature.HALF_OPENED wymagane jest API 24+ (Android 7.0). Czujnik kąta zawiasu jest dostępny na Android 10+.

Czy trzeba tworzyć osobne układy dla urządzeń składanych?

Nie. Użyj Window Size Class i Layoutomization z Jetpack WindowManager. Jeden kod ze sprawdzeniem klasy rozmiaru zastąpi osobne zasoby układów.

Czy urządzenia składane działają pod wodą?

Większość urządzeń składanych ma ochronę IP48 lub IP58 — ograniczoną wodoodporność. Pod wodą elastyczny wyświetlacz może zostać uszkodzony, dlatego zanurzenie nie jest zalecane przez producentów.

Podsumowanie

  • Foldable Device — urządzenie z elastycznym wyświetlaczem, zmieniające rozmiar ekranu podczas składania.
  • Typy — książkowe (Galaxy Z Fold), klapki (Galaxy Z Flip), podwójny ekran (Surface Duo).
  • Jetpack WindowManager — API do śledzenia FoldingFeature, stanu i kąta zgięcia.
  • Window Size Class — przełączanie między klasami podczas rozkładania urządzenia.
  • Flex mode — podział ekranu na przeglądanie i sterowanie przy półotwarciu.
  • Testowanie — AVD Foldable w emulatorze, ADB do zarządzania stanem.
  • Zakończenie — urządzenia składane tworzą nowy standard doświadczenia mobilnego, a dostosowanie aplikacji do nich staje się przewagą konkurencyjną.

Opracujemy aplikację mobilną pod klucz

IT Sectr tworzy aplikacje na iOS i Androida dla startupów i firm od 2017 roku. Doradzimy Ci i zaproponujemy najlepsze rozwiązanie.

Omów projekt

Przeczytaj również