Todos los componentes de Jetpack Compose Glimmer están diseñados para funcionar con métodos de entrada estándar similares a los teléfonos, como presionar o deslizar el panel táctil de los lentes de IA, y también para recibir comandos de entrada específicos del hardware de los lentes de IA, como los botones de la cámara y la pantalla. Los componentes de Jetpack Compose Glimmer controlan automáticamente los eventos de entrada necesarios. Para los componentes
personalizados, puedes usar las APIs de Compose existentes, como
Modifier.draggable o Modifier.scrollable, para implementar comportamientos de interacción
específicos.
En los lentes de IA con pantalla, la entrada del puntero puede afectar el enfoque:
- Presionar: Es la interacción directa para activar el elemento. El enfoque se mueve a un elemento cuando un usuario interactúa con él.
- Deslizar: Se usa para la navegación y el desplazamiento. Los gestos de deslizamiento no controlados se traducen automáticamente en movimientos de enfoque, lo que permite una navegación fluida por la IU sin entrada directa del puntero.
Comportamiento y orden de navegación
El movimiento y el orden del enfoque cambian a medida que un usuario navega por tu app.
Movimiento de enfoque
En un contenedor desplazable, el enfoque se mueve de forma continua con un deslizamiento en el panel táctil. Para elementos discretos, como una fila de botones, cada deslizamiento mueve el enfoque un elemento a la vez.
Orden de enfoque
Al igual que en Jetpack Compose, Jetpack Compose Glimmer usa la búsqueda de enfoque unidimensional. Para obtener más información sobre el orden de recorrido del enfoque, consulta Cómo cambiar el orden de recorrido del enfoque.
Para cambiar el elemento enfocado inicialmente, puedes agregar un
Modifier.focusGroup() y especificar un onEnter
focusProperty personalizado:
Modifier.focusProperties {
onEnter = {
initialFocus.requestFocus()
cancelFocusChange()
}
}
.focusGroup()
Contenedores de desplazamiento
Para una experiencia del usuario óptima, los contenedores de desplazamiento, como las listas, deben ser el único componente principal en una pantalla. Evita colocar una lista desplazable directamente arriba o abajo de otros elementos interactivos, como botones, para evitar la confusión de navegación y promover un movimiento de enfoque fluido y predecible.
Estados de enfoque predeterminados
Jetpack Compose Glimmer implementa estados de enfoque predeterminados en sus componentes interactivos, incluidas las superficies, las tarjetas y los elementos de la lista, lo que promueve comentarios visuales coherentes y claros durante la interacción del usuario.
Predeterminado: El color de fondo del botón se deriva de
GlimmerTheme.colors.surface, su contenido principal calcula el color de contenido de esa superficie y los íconos sonGlimmerTheme.colors.primary.Enfocado: El ancho del borde aumenta para comunicar el enfoque.
Enfocado + presionado: El fondo se establece en
GlimmerTheme.colors.surfacecon opacidad total para comunicar su estado seleccionado.