Descripción general

Usa la IU escalable para crear experiencias del usuario sofisticadas, dinámicas y de varios paneles en automóviles. IU escalable:

  • Proporciona un sistema de ventanas flexible.

  • Minimiza los riesgos, los costos y las complejidades de ingeniería que presenta el Conjunto de pruebas de compatibilidad (CTS) para las implementaciones de la interfaz de usuario.

La IU escalable admite una amplia variedad de diseños modernos de infoentretenimiento en el vehículo (IVI) que necesitan disposiciones dinámicas de ventanas.

Android 17 introduce las siguientes funciones específicas para el ventanas avanzado:

Ejemplos de experiencias

La IU escalable permite una variedad infinita de configuraciones de ventanas. Estos son algunos ejemplos de situaciones creadas para probar la IU escalable:

Fondo de mapa con apps flotantes

Una configuración de fondo de mapa con otras aplicaciones flotando en la parte superior.

Segundo plano de la app

Una configuración de fondo de la aplicación con paneles flotantes.

App fijada debajo de otras apps

Una aplicación fijada, como un contenedor de widgets, con otras aplicaciones que se inician en la parte superior.

Panel flotante condicional

Es un panel flotante condicional que aparece solo cuando se cumplen condiciones específicas, como cuando se reproduce contenido multimedia o cuando se activa una alerta.

App fijada cerca del conductor

Una aplicación fijada ubicada más cerca del conductor.

Diseño de pantalla dividida

Un diseño de pantalla dividida que muestra dos aplicaciones una al lado de la otra.

Pantalla dividida interactiva

Un diseño interactivo de pantalla dividida que permite cambiar el tamaño de forma dinámica.

Diseño de varios anclajes para pantallas grandes

Diseño de varios anclajes diseñado para pantallas grandes.

Diseño de pantalla principal con un carrusel de aplicaciones.

Beneficios y cumplimiento

Los beneficios de la IU escalable incluyen lo siguiente:

  • Menor riesgo de pruebas: El framework está certificado previamente y cumple con los CTS, lo que elimina el riesgo principal de fallas en las pruebas en las últimas etapas de un ciclo del programa. Una IU escalable puede ahorrar meses de esfuerzo de ingeniería y acelerar el cumplimiento.

  • Mayor flexibilidad de diseño: Capacidad comprobada para recrear numerosos modelos de ventanas automotrices existentes y complejos La IU escalable admite diseños ambiciosos y muy diferenciados.

  • Menos complejidad de implementación: La abstracción en un modelo XML de alto nivel basado en la configuración reduce la barrera de entrada para la lógica de ventanas personalizada.

  • Mejor rendimiento: La IU escalable se ejecuta en una base de ventanas de alto rendimiento, completamente integrada en Android estándar. Las transiciones fluyen sin problemas, lo que permite la optimización directa.

Los elementos básicos

La IU escalable minimiza la necesidad de código específico del OEM, facilita las actualizaciones y reduce los riesgos de lanzamiento, ya que elimina los problemas y disminuye los inconvenientes relacionados con la certificación.

El enfoque basado en XML aborda los desafíos comunes que se presentan cuando se administran sistemas de ventanas complejos en el SO Android Automotive (AAOS), como el posicionamiento preciso, los conflictos de orden Z y el enfoque de la app.

La IU escalable proporciona estos componentes básicos centrales.

Panel

Un panel es el contenedor rectangular fundamental en la pantalla. Cada panel se asigna a una tarea raíz dedicada para su administración independiente. Un panel puede alojar tareas de la app (TaskPanel) o contenido basado en vistas, como widgets (DecorPanel). Para obtener más información, consulta Cómo configurar un panel.

Variant

Una variante define un estado visual específico para un panel y, además, incluye propiedades como bounds (posición y tamaño), visibility, layer (orden Z) y radio de corner. Un solo panel puede tener variantes, como opened, closed o minimized. Para obtener más información, consulta Usa una variante para diseñar un estado visual.

Transición

Una transición define cómo un panel se mueve de su estado actual fromVariant a un nuevo estado, toVariant. Un Event activa la transición, que define la animación que usa el panel durante el cambio de estado. Un panel debería pasar de su estado actual a toVariant. Para la sincronización, el Administrador de ventanas principal anima y coordina todas las transiciones.

  • Evento: Es un activador para iniciar un cambio en la IU. Un OEM o el sistema pueden predefinir un activador. Por ejemplo, _System_OnHomeEvent, _System_TaskOpenEvent o la presión de un botón de navegación personalizado.

Por ejemplo, la IU escalable usa eventos para activar transiciones. Estas transiciones animan un panel de una variante a otra para mostrar cambios dinámicos en la IU. La IU escalable comunica estos cambios a otras apps del sistema para ajustar el contenido según sea necesario. Si defines relaciones de la IU en XML, puedes hacer lo siguiente:

  • Especifica comportamientos complejos de la IU: Define interacciones complejas de la interfaz de usuario.

  • Organizar sistemas de ventanas: Controlar la posición y la disposición de las ventanas

  • Implementa temas visuales: Aplica una estética y una marca coherentes.

  • Reducir la complejidad del código: Minimiza la necesidad de un desarrollo extenso de código personalizado.

Para obtener más información, consulta Cómo configurar una transición.

Botones de la IU del sistema

Además de activar intents, CarSystemBarButtons puede activar un evento de IU escalable cuando se presiona con los atributos event, selectedEvent y unselectedEvent.

event describe el evento que se activará cuando se presione el botón. Si se requiere un control más detallado sobre un evento, usa los atributos selectedEvent y unselectedEvent para especificar el evento que se activará cuando se seleccione o deseleccione el botón, respectivamente.

Cuándo implementar la IU del sistema

En esta sección, se describen los usos óptimos de la IU escalable.

Crea diseños persistentes de varios paneles

Crea una experiencia multizona en la que diferentes áreas de la pantalla se dediquen de forma permanente a funciones específicas. Por ejemplo, controles multimedia exclusivos, una barra de clima o un mapa en pantalla completa.

Usa TaskPanels para las apps principales (como la navegación) y DecorPanels para los elementos de la IU, en forma de vistas, que deben colocarse entre TaskPanels.

Implementa una escena principal dinámica

Implementa una escena de página principal compuesta por varios paneles de apps interactivos y visibles de forma simultánea. Por ejemplo, el mapa, el reproductor multimedia y la cuadrícula de apps.

Para hacer la transición de todos los paneles pertinentes a sus variantes principales opened o default, configura _System_HomeEvent.

Cómo aplicar superposiciones contextuales

Coloca elementos de la IU que no sean de la app, como widgets contextuales, desarrollo de la marca personalizado y barras de arrastre que se pueden animar en coordinación con las tareas de la app.

Usa DecorPanels para todos los elementos puramente decorativos o que alojan widgets. Si un widget aloja una app completamente funcional que se puede iniciar, lo óptimo es Panel > TaskPanel. Usa DecorPanels para los elementos de la IU basados en vistas cuando la disposición en capas debe sincronizarse con la disposición en capas de TaskPanel.

Diseña interacciones complejas del panel

Diseñar acciones avanzadas controladas por el usuario, como cambiar el tamaño de un panel de la app de forma dinámica o ajustar las vistas del panel de instrumentos según el contenido de la pantalla principal

Define Events personalizados para activar Transitions específicos que no sean estándares del sistema.