확장 가능한 UI를 사용하면 Android Automotive OS (AAOS)에서 멀티 윈도우 구성을 만들 수 있습니다. 확장 가능한 UI는 화면에 앱이 표시되는 위치와 방식을 조정하는 데 사용할 수 있는 프레임워크를 제공합니다. 그 결과 정보 흐름을 더 세부적으로 관리할 수 있습니다.
시스템 앱 개발자는 이러한 요소를 고려할 수 있습니다.
구성 가능한 앱 컨테이너
확장 가능한 UI 패널은 앱의 구성 가능한 컨테이너 역할을 하므로 앱이 화면에 동시에 표시되거나 다양한 크기로 표시될 수 있는 다양한 레이아웃을 만들 수 있습니다.
확장 가능한 UI는 런타임에 패널 크기 변경을 지원합니다. 하지만 이렇게 하면 앱이 콘텐츠를 조정해야 하므로 성능에 큰 영향을 미칩니다.
확장 가능한 UI는 시각적 영향을 줄이는 메커니즘을 제공합니다. 예를 들어 프레임당 애플리케이션의 레이아웃을 다시 지정하지 않도록 패널 크기를 조절할 때 내장 오버레이 화면을 제공합니다. 앱 환경은 개발자가 정의합니다.
시스템 상태를 통신합니다.
확장 가능한 UI를 사용하여 브로드캐스트 기반 시스템 이벤트를 트리거할 수 있습니다. 즉, 서로 다른 앱이 언제 어떻게 실행되는지, 이러한 시스템 앱에 어떤 시스템 이벤트가 표시되는지에 관한 규칙을 구성할 수 있습니다.
이렇게 하면 시스템 수준에서 정의된 이벤트에 반응하므로 시스템 앱에 유연성이 추가됩니다. 예를 들어 활성 탐색 세션과 지도 앱이 화면에 없을 때 실행되도록 NavigationCardActivity
를 구성할 수 있습니다. 또한 시스템 앱이 차량 속도로 제어되는 중앙 집중식 신호를 기반으로 색상 테마를 변경할 수 있습니다.
서드 파티 앱 개발자
서드 파티 앱 개발자는 멀티 윈도우 설정을 사용 설정할 때 이러한 측면을 고려해야 합니다.
앱 패널 배치: 앱이 다양한 패널 크기로 배치될 수 있으므로 반응형 UI 디자인이 필요합니다. 이는 확장 가능한 UI 때문이 아니라 다중 창 설정의 앱에 필요합니다.
인셋 처리: 앱은 인셋 (시스템 UI 요소 또는 디스플레이 컷아웃으로 점유된 화면 영역)을 처리해야 합니다. 패널은 인셋에 관한 업데이트를 게시하므로 앱이 적응할 수 있습니다. 이는 확장 가능한 UI 때문이 아니라 앱이 시스템 인셋 변경사항을 처리해야 한다는 Android 요구사항에 따른 것입니다.
몰입형 모드: 몰입형 모드 (시스템 표시줄을 숨기고 앱이 화면을 채움)를 사용하는 앱을 고려해야 합니다. 확장 가능한 UI를 사용하면 몰입형 모드의 정의와 이 모드에서 각 패널 배치를 정의하는 방법을 제어할 수 있습니다.
운전자 안전 및 기타 요구사항을 고려하여 몰입형 모드를 사용하는 방법을 결정해야 합니다.
Android 요구사항에 따라 앱은 몰입형 모드 요청 시 앱이 화면을 채울 것으로 예상할 수 없습니다. OS는 이러한 요청을 승인하거나 거부합니다.