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