Usa 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.
Beneficios y cumplimiento
Los beneficios de la IU escalable incluyen lo siguiente:
Menor riesgo de pruebas: El framework está certificado previamente y cumple con el CTS, lo que elimina el riesgo principal de errores de pruebas en etapas avanzadas de un ciclo del programa. La 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.
Menor 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 segmentación personalizada.
Mejor rendimiento: La IU escalable se basa en una base de ventanas de alto rendimiento, completamente integrada con Android estándar. Las transiciones son fluidas y se pueden optimizar.
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 reduce 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 AAOS, como los relacionados con el posicionamiento preciso, los conflictos de orden Z y el enfoque de la app.
La IU adaptable proporciona estos componentes básicos.
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. La transición se puede activar con un Event y puede definir la animación que atraviesa el panel durante el cambio de estado.
Un panel debe pasar de su estado actual a toVariant. Para la sincronización, todas las transiciones son animadas y coordinadas por el administrador de ventanas principal.
- 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_TaskOpenEvento 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. Estos cambios se comunican 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 ScalableUI 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
- Implementa una escena principal dinámica
- Aplica superposiciones contextuales
- Diseña interacciones complejas del panel
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.
Aplica 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.