¿Estás intentando implementar una pantalla de borde a borde en tu aplicación de Capacitor? No necesitas trucos, plugins ni soluciones alternativas. Capacitor cuenta con un soporte oficial para pantallas de borde a borde a través de la adjustMarginsForEdgeToEdge opción de configuración - simplemente no está bien documentada.
Muchos desarrolladores se enfrentan a problemas con diseños de borde a borde en aplicaciones de Capacitor, especialmente cuando se dirigen a Android 15+. A menudo recurren a plugins o trucos CSS personalizados para lograr el moderno aspecto de borde a borde. Pero hay una mejor forma, nativa.
What is Display de Borde a Borde?
El display de borde a borde permite que el contenido de tu aplicación se extienda detrás de las barras del sistema (barra de estado y barra de navegación), creando una experiencia de interfaz de usuario más inmersiva y moderna. A partir de Android 15, Google está impulsando el borde a borde como estándar para todas las aplicaciones.
La Solución Oficial: ajustar Margenes para Display de Borde a Borde
Capacitor proporciona la opción de configuración específica para este propósito. Esto se documenta en la documentación de configuración oficial de Capacitor adjustMarginsForEdgeToEdge ¿Cómo Configurarlo? official Capacitor config documentationo
O en formato JSON:
Opciones de Configuración capacitor.config.ts __CAPGO_KEEP_0__ capacitor.config.json:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.app',
appName: 'My App',
webDir: 'dist',
android: {
adjustMarginsForEdgeToEdge: 'auto' // or 'force' or 'disable'
}
};
export default config;
__CAPGO_KEEP_0__
{
"appId": "com.example.app",
"appName": "My App",
"webDir": "dist",
"android": {
"adjustMarginsForEdgeToEdge": "auto"
}
}
__CAPGO_KEEP_0__
La opción acepta tres valores: adjustMarginsForEdgeToEdge (Recomendado)
1. "auto" ¿Qué hace:
adjustMarginsForEdgeToEdge: 'auto'
Verifica automáticamente Android 15+ y la Ajusta las márgenes de manera inteligente según el dispositivo y la configuración. windowOptOutEdgeToEdgeEnforcement Lo mejor para:
La mayoría de las aplicaciones de producción que desean una pantalla completa en dispositivos compatibles mientras mantienen la compatibilidad con versiones de Android más antiguas. ¿Qué hace:
2. "force"
adjustMarginsForEdgeToEdge: 'force'
Fuerza ajustes de márgenes para una pantalla completa sin importar la versión de Android o otras configuraciones. Lo mejor para:
Las aplicaciones que desean comportamiento de pantalla completa en todas las versiones de Android compatibles. ¿Qué hace:
3. "disable"
adjustMarginsForEdgeToEdge: 'disable'
¿Qué hace: Deshabilita ajustes de márgenes automáticos completamente.
Lo mejor para: Aplicaciones que manejan el diseño de borde a borde manualmente o no desean el comportamiento de borde a borde.
Nota: Actualmente "disable" es el valor predeterminado, pero esto cambiará a "auto" en Capacitor 8.
¿Por qué esto importa para Android 15+?
A partir de Android 15, Google está imponiendo el comportamiento de pantalla de borde a borde como el comportamiento predeterminado. Las aplicaciones que no manejan correctamente los diseños de borde a borde pueden experimentar problemas de interfaz de usuario como:
- Contenido oculto detrás de las barras del sistema
- Espaciado y relleno incómodo
- Aspecto inconsistente en dispositivos
- Pobre experiencia del usuario
Al utilizar la configuración oficial adjustMarginsForEdgeToEdge config, asegura que tu aplicación maneje estos cambios correctamente sin necesidad de un code personalizado.
Ejemplo Completo
Aquí tienes un ejemplo de configuración completo para una aplicación moderna Capacitor:
import { CapacitorConfig } from '@capacitor/cli';
const config: CapacitorConfig = {
appId: 'com.example.myapp',
appName: 'My Awesome App',
webDir: 'www',
server: {
androidScheme: 'https'
},
android: {
// Enable edge-to-edge automatically on supported devices
adjustMarginsForEdgeToEdge: 'auto',
// Other Android config options...
backgroundColor: '#ffffff'
}
};
export default config;
Consideraciones de CSS
Al utilizar una pantalla de borde a borde, es posible que debas agregar algún CSS para manejar áreas seguras:
/* Add padding for system bars */
body {
padding-top: env(safe-area-inset-top);
padding-bottom: env(safe-area-inset-bottom);
padding-left: env(safe-area-inset-left);
padding-right: env(safe-area-inset-right);
}
/* Or use viewport-fit */
meta[name="viewport"] {
content: "width=device-width, initial-scale=1, viewport-fit=cover";
}
Prueba tu Configuración
Después de configurar adjustMarginsForEdgeToEdge, prueba tu aplicación en:
- Dispositivos Android 15+ - Verifique que el contenido respete correctamente las barras de sistema
- Versiones de Android más antiguas - Asegúrese de la compatibilidad hacia atrás
- Tamaños de pantalla diferentes - Verifique que los diseños funcionen en dispositivos diferentes
- Temas claros y oscuros - Pruebe ambos modos de tema
Errores comunes a evitar
No Utilice plugins para esto
No necesita plugins de terceros como capacitor-edge-to-edge o similares. La configuración nativa maneja esto de manera limpia.
No mezcle con implementaciones manuales
If estás utilizando adjustMarginsForEdgeToEdge, elimina cualquier manejo manual de ajustes de ventana o trucos CSS que hayas agregado.
No te olvides del CSS de área segura
La configuración maneja ajustes de margen, pero todavía necesitas usar CSS de área segura para un relleno de contenido adecuado.
Guía de Migración
Si actualmente estás utilizando plugins o trucos para edge-to-edge:
- Elimina cualquier plugin de edge-to-edge de tus dependencias
- Agrega la opción de configuración a tu
capacitor.config.ts - Limpia y reconstruye tu proyecto de Android
- Prueba exhaustivamente en dispositivos objetivo
# Clean the Android project
npx cap sync android
cd android
./gradlew clean
cd ..
# Rebuild
npx cap copy android
npx cap open android
Prueba de Futuro
Recuerde que Capacitor 8 hará "auto" el valor por defecto. Para prepararse:
- Prueba con
"auto"ahora para detectar cualquier problema temprano - Actualice su CSS para manejar las áreas seguras correctamente
- Revisar sus diseños en dispositivos con pantalla completa habilitada
Recursos Adicionales
- Documentación Oficial de Configuración de Capacitor
- Directrices de Pantalla Llena de Android
- Marcadores de Área Segura de CSS
Conclusión
La pantalla llena de Capacitor no requiere plugins, trucos ni complicadas soluciones. La opción de configuración proporciona una solución limpia y nativa que está oficialmente respaldada y futura. adjustMarginsForEdgeToEdge Inicie con
para la mayoría de las aplicaciones, pruebe exhaustivamente en dispositivos y agregue CSS de área segura adecuada. Su aplicación estará lista para Android 15 y más allá con un mínimo de esfuerzo. "auto" ¿Tiene alguna pregunta o está teniendo problemas?
La comunidad de __CAPGO_KEEP_0__ y The Capacitor community and __CAPGO_KEEP_0__ son grandes recursos para obtener ayuda adicional.
Sigue adelante desde la pantalla de borde a borde en Capacitor Sin plugins
Si estás utilizando Pantalla de borde a borde en Capacitor Sin plugins para planificar el comportamiento de medios y interfaz nativos, conecta con Usando @capgo/capacitor-actividades-en-vivo para la capacidad nativa en Usando @capgo/capacitor-actividades-en-vivo, @capgo/capacitor-actividades-en-vivo para el detalle de implementación en @capgo/capacitor-actividades-en-vivo, Usando @capgo/capacitor-reproductor-de-video para la capacidad nativa en Usando @capgo/capacitor-reproductor-de-video, @capgo/capacitor-reproductor-de-video para los detalles de implementación en @capgo/capacitor-reproductor-de-videos, y Usando @capgo/capacitor-navegación-nativa para la capacidad nativa en Usando @capgo/capacitor-navegación-nativa.