Foldable Device — 기초, 개발에서의 폴더블 디바이스

저자: IT Sectr 게시일: 2026-06-09 읽는 시간: 9 분

Foldable Device(폴더블 디바이스)는 접고 펼칠 때 폼 팩터가 변경되는 플렉서블 디스플레이를 갖춘 모바일 기기 클래스입니다. 이러한 기기는 화면 위치에 따라 컴팩트한 휴대폰과 태블릿으로 모두 작동합니다. Android Developers(2025)에 따르면, 폴더블 디바이스의 글로벌 시장은 2024년에 42% 성장했으며, 이 폼 팩터에 대한 애플리케이션 적응은 대규모 프로젝트에 필수적이 되고 있습니다.

핵심 사항

  • 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는 힌지 각도를 고려하고 애플리케이션이 두 화면 모두에 걸쳐 확장될 수 있도록 합니다.

Android의 폴더블 디바이스 API

Google은 폴더블 디바이스 작업을 위해 Jetpack WindowManager를 제공합니다. API에는 세 가지 주요 구성 요소가 포함됩니다: WindowLayoutInfo — 접힘 위치 정보, 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을, UI 상태에는 onSaveInstanceState를 사용하세요.

플렉스 모드(tabletop mode)의 경우, 디자인은 화면을 두 개의 기능 영역으로 분할해야 합니다. 상단은 콘텐츠 보기용(비디오, 갤러리, 목록), 하단은 제어용(버튼, 컨트롤러, 키보드)입니다. 이 패턴은 비디오 플레이어에 적용됩니다: Galaxy Z Flip의 YouTube는 상단에 비디오를, 하단에 추천 및 버튼을 표시합니다.

폴더블 디바이스 테스트

테스트는 폴더블 디바이스 개발에서 가장 어려운 측면 중 하나입니다. Android Emulator는 "Foldable" 구성(내부 7.6인치 디스플레이, 외부 4.6인치 디스플레이)의 AVD를 통해 폴더블 디바이스를 시뮬레이션할 수 있습니다. 에뮬레이터는 접힘 및 펼침 상태 간 전환을 지원합니다.

에뮬레이터에서 테스트하려면 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를 통해 애플리케이션에 알립니다.

창의적인 시나리오를 위해 힌지 각도를 고려하세요. 사진 및 비디오 애플리케이션에서 반쯤 열린 위치(90°)는 기기를 스탠드로 변환합니다: 카메라는 촬영하고, 화면 하단은 제어판을 표시합니다. 이 시나리오는 특히 Samsung Camera 및 네이티브 애플리케이션에서 인기가 있습니다.

자주 묻는 질문

기기가 폴더블인지 어떻게 확인하나요?

PackageManager.FEATURE_SENSOR_HINGE_ANGLE의 존재를 확인하세요. true인 경우 — 기기는 힌지 각도 센서가 있는 폴더블입니다. 추가로 DisplayFold API를 확인하세요.

접힘 상태에서 펼침 모드로의 전환을 어떻게 처리하나요?

WindowInfoTracker.windowLayoutInfo()에 구독하세요. FoldingFeature 상태가 변경되면 Window Size Class와 접힘 위치에 따라 인터페이스를 재구성하세요.

폴더블 디바이스 API의 최소 SDK는 무엇인가요?

Jetpack WindowManager는 API 14+에서 작동합니다. 하지만 FoldingFeature.HALF_OPENED는 API 24+(Android 7.0)가 필요합니다. 힌지 각도 데이터 센서는 Android 10+에서 사용 가능합니다.

폴더블 디바이스용 별도 레이아웃을 만들어야 하나요?

아니요. Window Size Class와 Jetpack WindowManager의 Layoutomization을 사용하세요. 크기 클래스 확인이 포함된 단일 코드가 별도의 리소스 레이아웃을 대체합니다.

폴더블 디바이스는 물속에서 작동하나요?

대부분의 폴더블 디바이스는 IP48 또는 IP58 보호 등급을 가지며 제한적인 방수 기능이 있습니다. 물속에서는 플렉서블 디스플레이가 손상될 수 있으므로 제조사는 침수를 권장하지 않습니다.

요약

  • Foldable Device — 접을 때 화면 크기가 변경되는 플렉서블 디스플레이를 갖춘 기기.
  • 유형 — 북 스타일(Galaxy Z Fold), 플립 스타일(Galaxy Z Flip), 듀얼 스크린(Surface Duo).
  • Jetpack WindowManager — FoldingFeature, 상태 및 접힘 각도 추적 API.
  • Window Size Class — 기기 펼침 시 클래스 간 전환.
  • Flex mode — 반쯤 열린 상태에서 보기 및 제어 영역으로 화면 분할.
  • 테스트 — 에뮬레이터의 AVD Foldable, 상태 관리를 위한 ADB.
  • 결론 — 폴더블 디바이스는 모바일 경험의 새로운 표준을 형성하고 있으며, 이에 대한 애플리케이션 적응은 경쟁 우위가 되고 있습니다.

턴키 방식의 모바일 애플리케이션을 개발해 드립니다

IT Sectr는 2017년부터 스타트업과 기업을 위한 iOS 및 Android 애플리케이션을 만듭니다. 저희가 상담해 드리고 최적의 솔루션을 제안하겠습니다.

프로젝트 논의

더 읽어보기