Saltar al contenido principal

Pantalla de bordes sin fin en Capacitor sin plugins

Aprende a configurar correctamente la pantalla de bordes sin fin en tus aplicaciones Capacitor utilizando la opción de configuración oficial adjustMarginsForEdgeToEdge - sin plugins ni trucos necesarios.

Créditos del artículo

Martin Donadieu

Escritor

Valeria

Revisor

Jordan

Editor

Display de Borde a Borde en Capacitor Sin Plugins

¿Estás tratando de implementar un display de borde a borde en tu aplicación Capacitor? No necesitas ningún hack, plugin o workaround. Capacitor cuenta con el soporte oficial para el display 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 Capacitor, especialmente cuando se dirigen a Android 15+. A menudo recurren a plugins o hacks de CSS para lograr la apariencia moderna de borde a borde. Pero hay una mejor forma, nativa.

¿Qué es el Display de Borde a Borde?

El display de borde a borde permite que el contenido de la 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 display de borde a borde como estándar para todas las aplicaciones.

La Solución Oficial: ajustarMárgenesParaBordeAEBorde

Capacitor proporciona la adjustMarginsForEdgeToEdge opción de configuración específica para este propósito. Esto se documenta en la documentación oficial de configuración de Capacitorpero es fácil pasar por alto.

¿Cómo configurarlo?

Agregar esto a tu capacitor.config.ts o 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;

¿O en formato JSON?

{
  "appId": "com.example.app",
  "appName": "My App",
  "webDir": "dist",
  "android": {
    "adjustMarginsForEdgeToEdge": "auto"
  }
}

Opciones de configuración

La adjustMarginsForEdgeToEdge opción admite tres valores:

adjustMarginsForEdgeToEdge: 'auto'

¿Qué hace? Verifica automáticamente Android 15+ y el windowOptOutEdgeToEdgeEnforcement configuración. Ajusta las márgenes de manera inteligente según el dispositivo y la configuración.

Mejor para: La mayoría de las aplicaciones de producción que desean una pantalla de borde a borde en dispositivos compatibles mientras se mantiene la compatibilidad con versiones de Android más antiguas.

2. "force"

adjustMarginsForEdgeToEdge: 'force'

¿Qué hace: Forza ajustes de margen independientemente de la versión de Android o otras configuraciones.

Mejor para: Las aplicaciones que desean el comportamiento de borde a borde en todas las versiones de Android compatibles.

3. "disable"

adjustMarginsForEdgeToEdge: 'disable'

¿Qué hace: Deshabilita ajustes de margen automáticos completamente.

Mejor para: Las aplicaciones que manejan el diseño de borde a borde manualmente o no desean el comportamiento de borde a borde.

Nota: Actualmente "disable" is el default, pero esto cambiará a "auto" in Capacitor 8.

¿Por qué esto importa para Android 15+

Con Android 15, Google está imponiendo la pantalla de borde a borde como comportamiento por defecto. 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 desafortunados
  • Apariencia inconsistente en diferentes dispositivos
  • Experiencia de usuario deficiente

Al utilizar la configuración oficial adjustMarginsForEdgeToEdge config, aseguras que tu aplicación maneje estos cambios correctamente sin necesidad de 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 algunos 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:

  1. Dispositivos Android 15+ - Verifica que el contenido respete correctamente las barras del sistema
  2. Versiones de Android más antiguas - Asegúrate de la compatibilidad hacia atrás
  3. Tamaños de pantalla diferentes - Verifica que los diseños funcionen en dispositivos diferentes
  4. Temas claros y oscuros - Prueba ambos modos de tema

Errores Comunes a Evitar

No Utilizar Plugins para Esto

No necesitas plugins de terceros como capacitor-edge-to-edge o similares. La configuración nativa maneja esto de manera limpia. Si necesitas un control fino sobre el navegador de sistema después de habilitar adjustMarginsForEdgeToEdge, @capgo/@capacitor-barra-de-navegación y @capgo/indicador-de-página complementa la configuración nativa sin reemplazarla.

No Mezclar con Implementaciones Manuales

Si estás utilizando adjustMarginsForEdgeToEdge, elimina cualquier manejo manual de ajustes de ventana o trucos CSS que hayas agregado.

Olvide el CSS de área segura

La configuración gestiona ajustes de margen, pero todavía necesitas usar CSS insets 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:

  1. Elimina cualquier plugin de edge-to-edge de tus dependencias
  2. Agrega la opción de configuración a tu capacitor.config.ts
  3. Limpia y reconstruye tu proyecto Android
  4. 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

Preparación para el Futuro

Recuerde que Capacitor 8 establecerá el valor por defecto. "auto" Para prepararse:

  1. Pruebe con "auto" ahora para detectar cualquier problema temprano
  2. Actualice su CSS para manejar las áreas seguras correctamente
  3. Revisar sus diseños en dispositivos habilitados para pantallas de borde a borde

Recursos Adicionales

Conclusión

La pantalla límite a límite en Capacitor no requiere plugins, trucos ni complicadas soluciones de trabajo alrededor. La adjustMarginsForEdgeToEdge opción de configuración proporciona una solución nativa limpia que está oficialmente respaldada y futura.

Inicie con "auto" 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.

Preguntas o estás teniendo problemas? La comunidad de Capacitor y documentación oficial son recursos excelentes para obtener ayuda adicional.

Sigue adelante desde la pantalla límite a límite en Capacitor sin plugins

If estás utilizando Edge-to-Edge Display sin plugins en Capacitor para planificar el comportamiento nativo de medios y interfaces, 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-videos para la capacidad nativa en Usando @capgo/capacitor-reproductor-de-videos, @capgo/capacitor-reproductor-de-videos para el detalle 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.

Actualizaciones en vivo para aplicaciones de Capacitor

Cuando un error en la capa web está activo, envíe la corrección a través de Capgo en lugar de esperar días para la aprobación de la tienda de aplicaciones. Los usuarios obtienen la actualización en segundo plano mientras los cambios nativos siguen en el camino de revisión normal.

soporte humano de Martin

Iniciar Ahora

Últimas noticias de nuestro Blog

Capgo le da las mejores perspectivas que necesita para crear una aplicación móvil verdaderamente profesional.