A partir de Android 10 (nivel de API 29), el sistema Android es totalmente navegación basada en gestos. Hay dos cosas que los desarrolladores de apps deben hacer para asegurarse sus aplicaciones son compatibles con esta función:
- Extender el contenido de la app de borde a borde
- Ocuparse de los gestos conflictivos de la app
Además, Android 13 (nivel de API 33) presenta un gesto atrás predictivo para Android como teléfonos, pantallas grandes y plegables, lo que forma parte de un lanzamiento. Los desarrolladores de aplicaciones pueden tomar medidas para asegurarse de que sus aplicaciones admitan la gesto atrás predictivo.
Cómo proporcionar contenido de la app de borde a borde
Para aprovechar el espacio de pantalla adicional que ofrece el anuncio flotante en la barra de navegación, debes configurar ciertos cambios en la app.
Consulta Cómo mostrar el contenido de borde a borde en tu app para conocer los detalles.
Cómo resolver gestos de apps conflictivos
El modelo de navegación por gestos puede entrar en conflicto con los gestos que anteriormente que usan los desarrolladores de apps. Es posible que debas hacer ajustes en las cuentas de usuario de tu app interfaz como resultado.
Conflictos con los gestos de retroceso
El nuevo gesto del sistema para ir hacia atrás es un deslizamiento hacia adentro desde la izquierda o
borde derecho de la pantalla. Esto puede interferir con los elementos de navegación de la app en
en esas áreas. Mantener la funcionalidad de los elementos en los bordes izquierdo y derecho
de la pantalla, inhabilita el gesto atrás de manera selectiva indicando al
sistema las regiones que necesitan
recibir una entrada táctil. Puedes hacerlo pasando una solicitud
List<Rect>
a la View.setSystemGestureExclusionRects()
La API se introdujo en Android 10. Este método también está disponible en ViewCompat
a partir de
androidx.core:core:1.1.0-dev01
Por ejemplo:
Kotlin
var exclusionRects = listOf(rect1, rect2, rect3) fun onLayout( changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects) } fun onDraw(canvas: Canvas) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects) }
Java
List<Rect> exclusionRects; public void onLayout( boolean changedCanvas, int left, int top, int right, int bottom) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects); } public void onDraw(Canvas canvas) { // Update rect bounds and the exclusionRects list setSystemGestureExclusionRects(exclusionRects); }
Conflictos con los gestos de inicio o de cambio rápido
Los nuevos gestos del sistema para ir a la pantalla principal y la función Quick Switch incluyen deslizar el dedo en el inferior de la pantalla, en el espacio que antes ocupaba la barra de navegación. Aplicaciones no pueden inhabilitar estos gestos como sí pueden con el gesto atrás.
Para mitigar este problema, Android 10 presenta la
WindowInsets.getMandatorySystemGestureInsets()
API, que informa a las apps sobre los umbrales de reconocimiento táctil.
Juegos y otras apps que no tienen vistas
Los juegos y otras apps que no tienen una jerarquía de vistas a menudo requieren que el usuario
desliza el dedo cerca de las áreas de gestos del sistema. En esos casos, los juegos pueden usar
Window.setSystemGestureExclusionRects()
a fin de excluir las áreas que se superponen con las áreas reservadas para los gestos del sistema. Juegos
debe asegurarse de excluir estas áreas solo cuando sea necesario, como durante
durante un juego.
Si un juego requiere que el usuario deslice el dedo cerca del área de gestos principal, la app puede solicitar que se distribuyan en modo envolvente. Esta acción inhabilita los gestos del sistema mientras el usuario interactúa con el juego, pero le permite volver a habilitarlo el sistema desliza el dedo desde la parte inferior de la pantalla.
Actualiza tu app para que admita el gesto atrás predictivo
Android 13 (nivel de API 33) introduce un gesto atrás predictivo para dispositivos Android, como teléfonos, pantallas grandes y dispositivos plegables. El gesto de atrás predictivo es parte de un lanzamiento de varios años. Cuando se implemente por completo, esta función permite a los usuarios obtener una vista previa del destino u otro resultado de un gesto atrás antes de lo completan por completo, lo que les permite decidir si continuar o permanecer la vista actual.
Consulta Cómo agregar compatibilidad con el gesto atrás predictivo para conocer los detalles.
Recursos adicionales
Para obtener más información sobre la navegación por gestos, consulta lo siguiente: