Cómo optimizar su aplicación de Android para pantallas grandes (¡y qué NO hacer!)
Publicado por el equipo de Android
Grandes dispositivos plegables, tabletas y dispositivos de escritorio como Chromebooks: con más dispositivos Android de pantalla grande activos cada año, es más importante que nunca que las aplicaciones se aseguren de ofrecer a sus usuarios una experiencia perfecta en pantalla grande. Por ejemplo, estos dispositivos ofrecen más espacio en pantalla y los usuarios esperan que las aplicaciones aprovechen mejor ese espacio. Hemos visto que las aplicaciones en estos dispositivos logran mejores métricas comerciales cuando las admiten.
Estos dispositivos también se pueden usar en diferentes lugares y de diferentes maneras de lo que esperaríamos de un teléfono. Por ejemplo, los dispositivos plegables se pueden usar en modo de escritorio, los usuarios pueden sentarse más lejos de una pantalla de escritorio y muchos dispositivos de pantalla grande se pueden usar con un mouse y un teclado.
Estas diferencias conducen a nuevas cosas a considerar. Por ejemplo:
- ¿Puede un usuario alcanzar los controles clave cuando usa su aplicación con las dos manos en una tableta?
- ¿Todas las funciones de su aplicación funcionan con teclado y mouse?
- ¿La vista previa de la cámara de tu aplicación tiene la orientación correcta independientemente de la posición del dispositivo?
![]() ![]() |
Diseño y calidad de pantalla grande
Puede ser difícil definir un gran diseño y calidad en pantallas grandes, ya que las diferentes aplicaciones tienen diferentes formas de sobresalir. Usted conoce mejor su producto, por lo que es importante usar su aplicación en dispositivos de pantalla grande y pensar en qué brinda la mejor experiencia. Si no tiene acceso a un dispositivo de pantalla grande; Pruebe uno de los dispositivos de tableta o escritorio virtual plegable.
Google también proporciona recursos a lo largo del proceso de desarrollo para ayudarlo a optimizar su aplicación. Si está buscando guías de diseño, hay recursos de diseño bien pensados como la Guía de diseño de materiales de pantalla grande y composiciones listas para usar como los diseños canónicos. Para inspirarte, echa un vistazo a la galería de pantalla grande para ver excelentes ejemplos de una variedad de aplicaciones diferentes. Si está buscando un enfoque estructurado para la calidad de la pantalla grande, las Pautas de calidad de la aplicación de pantalla grande proporcionan una lista de verificación simple y un conjunto de pruebas para ayudarlo a estar seguro de que su aplicación se ajusta a la pantalla grande.
Pros y contras de optimizar para pantallas grandes
Ya sea que ya tenga hermosos temas para pantallas grandes o no, queremos resaltar algunos consejos útiles y errores comunes que debe evitar al optimizar su aplicación para pantallas grandes.
No: asuma el acceso exclusivo a los recursos
- No asuma que tiene acceso exclusivo a recursos de hardware como la cámara. Las pantallas grandes tienden a tener más de una aplicación activa a la vez, y esas otras aplicaciones pueden estar intentando acceder a los mismos recursos.
- Esto significa que debe probar su aplicación en paralelo con otras aplicaciones al mismo tiempo y nunca asumir que un recurso estará disponible en un momento dado.
Hacer: Manejar el acceso al hardware con gracia
- Encuentre recursos de hardware como la cámara antes de intentar usarla. Recuerde que los periféricos de hardware se pueden agregar y quitar en cualquier momento a través de USB.
- Error regular cuando el acceso a un recurso específico no está disponible en tiempo de ejecución.
try { |
Haga lo siguiente: Responda adecuadamente a los eventos del ciclo de vida:
- Su aplicación aún puede estar visible durante este tiempo en pausa ()especialmente cuando hay varias aplicaciones en la pantalla, por lo que debe mantener la reproducción multimedia y la interfaz de usuario actualizadas hasta entonces onStop() se llama
No: detenga la interfaz de usuario de su aplicación en pausa ()
override fun onPause() { |
No: confíe en valores booleanos de tipo de dispositivo como "es una tableta”
- En el pasado, un patrón común para las aplicaciones era usar el ancho de la pantalla para obtener un valor booleano como "es una tableta' para realizar cambios según el tipo de dispositivo en el que se ejecuta la aplicación, pero este enfoque es vulnerable. El problema central con este enfoque es que busca un proxy para determinar el tipo de dispositivo, y estos proxies son propensos a errores. Por ejemplo, si determina que un dispositivo es una tableta porque tiene una pantalla grande cuando inicia su aplicación, su aplicación puede funcionar mal si se cambia el tamaño de la ventana para que no ocupe toda la pantalla. Incluso si su tipo de dispositivo booleano responde a los cambios de configuración, desplegar un dispositivo plegable alteraría su experiencia de una manera que no podría volver hasta que ocurra otro cambio de configuración, p. B. replegamiento del dispositivo.
Hacer: trabajar para reemplazar los usos existentes de las operaciones booleanas de tipo dispositivo con el enfoque correcto
Solicite la información sobre el dispositivo que sea necesaria para lo que desea lograr. Por ejemplo:
- Si usa booleanos de tipo de dispositivo para personalizar su diseño, use Clases de tamaño de ventana en lugar de esto. La biblioteca es compatible con Views y Jetpack Compose, por lo que es claro y fácil de personalizar su interfaz de usuario a puntos de interrupción predefinidos.
|
- Si utiliza es una tableta Es posible que no necesite ninguna información adicional para cambiar las cadenas orientadas al usuario, como "su tableta". La solución puede ser tan simple como usar frases más generales como "su dispositivo Android".
- Al usar un tipo de dispositivo booleano para predecir la presencia de una función o recurso de hardware (por ejemplo, telefonía, bluetooth, etc.), verifique las funciones deseadas directamente en tiempo de ejecución antes de intentar usarlas y sugiéralas correctamente si no están disponibles. Este enfoque basado en funciones garantiza que su aplicación pueda responder adecuadamente a los periféricos que se pueden enchufar o quitar. También evita los casos en los que falta una función, aunque el dispositivo podría admitirla.
val packageManager: PackageManager = context.packageManager |
Hacer: usar Jetpack CameraX siempre que sea posible
- Ver vistas previas de la cámara puede ser sorprendentemente complejo: orientación, relación de aspecto y más. Si está utilizando Jetpack CameraX, la biblioteca se encargará de todos estos detalles por usted.
No asuma que la vista previa de su cámara se alineará con la orientación del dispositivo
- Hay diferentes tipos de orientación a tener en cuenta al implementar una vista previa de la cámara en su aplicación: orientación natural, orientación del dispositivo y orientación de la pantalla. La implementación adecuada de una vista previa de la cámara requiere considerar los diferentes tipos de orientación y adaptarse a las condiciones cambiantes del dispositivo.
No asuma que las relaciones de aspecto son estáticas
Hacer: Declarar los requisitos de características de hardware correctamente
- Al especificar los requisitos de funciones de su aplicación, consulte el libro de recetas de pantallas grandes para obtener orientación. Para asegurarse de no limitar innecesariamente el alcance de su aplicación, asegúrese de usar las entradas de manifiesto más amplias que funcionan con su aplicación.
<uses-feature android:name="android.hardware.camera.any" android:required="false" /> |
No asuma que los cristales de las ventanas son estáticos
- Las pantallas grandes pueden cambiar con frecuencia, al igual que las suyas. Recuadros de ventana. Esto significa que no podemos simplemente verificar las apuestas al iniciar nuestra aplicación y nunca cambiarlas.
Hacer: usar el WindowInsetsListener API para vistas
- El WindowInsetsListener Las API notifican a su aplicación cuando cambian las inserciones
ViewCompat.setOnApplyWindowInsetsListener(view) { view, windowInsets -> |
Hacer: usar el modificador windowInsetsPadding
para Jetpack componer
- El modificador windowInsetsPadding rellena dinámicamente en función del tipo especificado de inserciones de ventana. Además, múltiples instancias de la modificador pueden comunicarse entre sí para evitar el doble relleno y se animan automáticamente.
No asuma que el dispositivo tiene una pantalla táctil
Sí: prueba tu aplicación en pantallas grandes
- Lo más importante que puede hacer para asegurarse de que la experiencia de su aplicación sea excelente en pantallas grandes es probarla usted mismo. Si desea un plan de prueba riguroso ya preparado para usted, pruebe las pruebas de compatibilidad de pantalla grande.
Hazlo: usa las herramientas de pantalla grande en Android Studio
- Android Studio proporciona herramientas para usar durante el desarrollo que facilitan mucho la optimización para pantallas grandes. Por ejemplo, puede usar anotaciones de vista previa múltiple para visualizar su aplicación en muchas condiciones a la vez. Una amplia variedad de AVD para tabletas, computadoras de escritorio y plegables también están disponibles en el Administrador de dispositivos virtuales de Android, por lo que puede comenzar a probar su aplicación en pantallas grandes hoy.
Estén atentos a Google I/O
Estos consejos son un buen punto de partida para optimizar su aplicación para pantallas grandes, y el 10 de mayo llegarán más actualizaciones a Google I/O. Sintonice para ver las últimas noticias e innovaciones de Google con conferencias magistrales transmitidas en vivo y actualizaciones útiles de productos a pedido.
Si quieres conocer otros artículos parecidos a Cómo optimizar su aplicación de Android para pantallas grandes (¡y qué NO hacer!) puedes visitar la categoría Android.
Deja una respuesta