Foldable Device — основи, складні пристрої в розробці

Автор: IT Sectr Опубліковано: 2026-06-09 Час читання: 9 хв

Foldable Device (складний пристрій) — це клас мобільних гаджетів з гнучким дисплеєм, який змінює форм-фактор при складанні та розкладанні. Такі пристрої працюють і як компактний телефон, і як планшет — залежно від положення екрана. За даними Android Developers (2025), глобальний ринок складних пристроїв зріс на 42% за 2024 рік, і адаптація застосунків під цей форм-фактор стає обов’язковою для великих проєктів.

Головне

  • Foldable Device — пристрій з гнучким дисплеєм, що змінює форм-фактор при складанні.
  • Типи — книжкові (Galaxy Z Fold), розкладачки (Galaxy Z Flip), подвійний екран (Surface Duo).
  • Fold State — стан пристрою: повністю розкрито, повністю складено, напіврозкрито (tabletop).
  • Адаптація — інтерфейс має перебудовуватися при зміні конфігурації екрана.
  • WindowManager — Jetpack WindowManager API для обробки змін стану складного пристрою.

Що таке Foldable Device?

Foldable Device — це мобільний пристрій з гнучким OLED-дисплеєм, здатним складатися без пошкодження матриці. У складеному стані такий пристрій компактний і вміщується в кишені, у розкладеному надає екран планшетного розміру. Першим масовим складним пристроєм став Royole FlexPai (2018), але популяризували категорію Samsung Galaxy Fold (2019) та Huawei Mate X.

Ключова відмінність складних пристроїв від традиційних — наявність шарніра (hinge) та гнучкого дисплея. При складанні дисплей не ламається, а згинається по радіусу, визначеному конструкцією шарніра. Сучасні технології (UTG — Ultra Thin Glass, 2020+ та Samsung Infinity Flex) дозволяють витримувати до 200 000 циклів складання без видимих пошкоджень.

Для розробника складні пристрої створюють три виклики: зміна розмірів екрана при розкладанні, наявність згину (crease) та робота в напіврозкритому стані (tabletop mode), коли пристрій стоїть на поверхні під кутом.

Типи складних пристроїв

Книжкові (book-style) — Galaxy Z Fold, Google Pixel Fold, OnePlus Open. Зовнішній екран (cover screen) для використання в складеному вигляді, внутрішній гнучкий дисплей (inner screen) для планшетного режиму. Співвідношення сторін зовнішнього екрана — близько 22:9, внутрішнього — близько 6:5 або 4:3.

Розкладачки (flip-style) — Galaxy Z Flip, Motorola Razr, Oppo Find N2 Flip. Вертикальне складання, зовнішній дисплей для сповіщень (1.5–3.5 дюйма), внутрішній — стандартний телефонний (6.7–7 дюймів). Головна особливість — при напіврозкритті (flex mode) застосунок може розділити екран на дві зони: керування зверху, контент знизу.

Подвійний екран — Microsoft Surface Duo, Lenovo ThinkPhone. Два окремі дисплеї з шарніром посередині. При розкладанні утворюють спільну площу, але з фізичним зазором між екранами. API враховує hinge angle і дозволяє застосунку розтягуватися на обидва екрани.

API для складних пристроїв в Android

Google надає Jetpack WindowManager для роботи зі складними пристроями. API включає три ключові компоненти: WindowLayoutInfo — інформація про розташування складки (fold), WindowPosture — фізичне положення пристрою та FoldingFeature — опис області згину: орієнтація, стан і кут.

FoldingFeature містить тип складки (hinge — шарнір, fold — гнучкий екран), стан (flat — розкрито, half-opened — напіврозкрито, folded — складено) та кут згину (від 0 до 180 градусів). Кут доступний на пристроях з датчиком кута (Galaxy Z Fold, Pixel Fold).

kotlin
val windowInfoRepository =
    WindowInfoTracker.getOrCreate(context)
windowInfoRepository.windowLayoutInfo(context)
    .collect { layoutInfo ->
        layoutInfo.displayFeatures
            .filterIsInstance<FoldingFeature>()
            .forEach { feature ->
                // обробка складання
            }
    }

Для визначення, чи є пристрій складним, використовуйте PackageManager.hasSystemFeature("android.hardware.sensor.hinge_angle"). На пристрої з шарніром цей сенсор присутній — на звичайних телефонах відсутній.

Адаптація інтерфейсу під складні пристрої

Адаптація інтерфейсу — головне завдання розробника при підтримці складних пристроїв. При розкладанні ширина вікна може збільшитися вдвічі, і інтерфейс має перебудуватися з одноколонкового на багатоколонковий. Використовуйте Window Size Class для перемикання між лейаутами — при розкладанні клас змінюється з Compact на Expanded.

Особлива увага — обробка змін конфігурації. Коли користувач розкладає пристрій, Activity може перестворитися. Якщо застосунок не зберігає стан, користувач втратить введені дані або позицію скролу. Використовуйте ViewModel для екранних даних і onSaveInstanceState для UI-стану.

Для flex mode (tabletop mode) дизайн має розділяти екран на дві функціональні зони. Верхня — перегляд контенту (відео, галерея, список), нижня — керування (кнопки, контролери, клавіатура). Цей патерн застосовується у відеоплеєрах: YouTube на Galaxy Z Flip показує відео зверху, рекомендації та кнопки знизу.

Тестування на складних пристроях

Тестування — один з найскладніших аспектів розробки під складні пристрої. Android Emulator дозволяє симулювати складні пристрої через AVD з конфігурацією "Foldable" (внутрішній 7.6-дюймовий дисплей, зовнішній 4.6-дюймовий). Емулятор підтримує перемикання між складеним і розкладеним станом.

Для тестування в емуляторі використовується ADB. Команда adb shell am broadcast -a android.intent.action.VIEW -e mode expand розкладає пристрій, adb shell am broadcast -a android.intent.action.VIEW -e mode fold складає. Також можна змінювати кут згину у вікні емулятора.

Реальне тестування на фізичних пристроях рекомендується для перевірки відчуття переходу, якості шарніра та видимості згину. Основні моделі для тестів: Samsung Galaxy Z Fold 6 (книжковий), Samsung Galaxy Z Flip 6 (розкладачка), Google Pixel Fold, Motorola Razr 50.

Рекомендації з дизайну для складних пристроїв

Не розміщуйте критично важливі елементи в області згину. Кнопки, поля введення та інтерактивні елементи мають розташовуватися на відстані мінімум 24 dp від лінії згину. Згин (crease) — невід’ємна властивість гнучких екранів, його видимість зменшується з кожним поколінням, але повністю не зникає.

Використовуйте продовження замість перерви. При розкладанні контент має плавно перетікати із зовнішнього на внутрішній екран або розширюватися на всю площу. Уникайте завантаження нової Activity — використовуйте перерахунок лейауту всередині того самого екрана. Jetpack WindowManager відстежує зміни та повідомляє застосунок через WindowLayoutInfo.

Враховуйте hinge angle для творчих сценаріїв. У фото- та відеозастосунках напіврозкрите положення (90°) перетворює пристрій на підставку: камера знімає, нижня частина екрана показує панель керування. Цей сценарій особливо популярний у Samsung Camera та нативних застосунках.

Поширені запитання

Як визначити, що пристрій складний?

Перевірте наявність PackageManager.FEATURE_SENSOR_HINGE_ANGLE. Якщо true — пристрій складний з датчиком кута шарніра. Додатково перевірте DisplayFold API.

Як обробити перехід зі складеного в розкладений режим?

Підпишіться на WindowInfoTracker.windowLayoutInfo(). При зміні стану FoldingFeature перебудовуйте інтерфейс відповідно до Window Size Class та положення згину.

Який мінімальний SDK для API складних пристроїв?

Jetpack WindowManager працює на API 14+. Але для FoldingFeature.HALF_OPENED потрібен API 24+ (Android 7.0). Датчик кута шарніра доступний на Android 10+.

Чи потрібно створювати окремі лейаути для складних пристроїв?

Ні. Використовуйте Window Size Class та Layoutomization від Jetpack WindowManager. Єдиний код з перевіркою класу розміру замінить окремі макети ресурсів.

Чи працюють складні пристрої під водою?

Більшість складних пристроїв мають IP48 або IP58 захист — обмежена водонепроникність. Під водою гнучкий дисплей може бути пошкоджений, тому занурення не рекомендується виробниками.

Підсумки

  • Foldable Device — пристрій з гнучким дисплеєм, що змінює розмір екрана при складанні.
  • Типи — книжкові (Galaxy Z Fold), розкладачки (Galaxy Z Flip), подвійний екран (Surface Duo).
  • Jetpack WindowManager — API для відстеження FoldingFeature, стану та кута згину.
  • Window Size Class — перемикання між класами при розкладанні пристрою.
  • Flex mode — розділення екрана на перегляд та керування при напіврозкритті.
  • Тестування — AVD Foldable в емуляторі, ADB для керування станом.
  • Висновок — складні пристрої формують новий стандарт мобільного досвіду, і адаптація застосунків під них стає конкурентною перевагою.

Ми розробимо мобільний застосунок під ключ

IT Sectr створює застосунки для iOS та Android для стартапів і бізнесу з 2017 року. Ми проконсультуємо вас і запропонуємо найкраще рішення.

Обговорити проект

Читайте також