Saltar al contenido principal

Pantalla de borde a borde en Capacitor sin plugins

Aprenda a configurar correctamente la pantalla de borde a borde en sus aplicaciones Capacitor utilizando la opción de configuración oficial adjustMarginsForEdgeToEdge - no se necesitan plugins ni trucos.

Martin Donadieu

Martin Donadieu

Gerente de contenido

Pantalla de borde a borde en Capacitor sin plugins

¿Estás tratando de implementar la pantalla de borde a borde en tu aplicación Capacitor? No necesitas trucos, plugins ni soluciones alternativas. Capacitor cuenta con el soporte oficial para la pantalla de borde a borde a través de adjustMarginsForEdgeToEdge opción de configuración - simplemente no está bien documentada.

Muchos desarrolladores luchan con diseños de bordes a bordes en aplicaciones Capacitor, especialmente cuando se dirigen a Android 15+. A menudo recurren a plugins personalizados o trucos de CSS para lograr la apariencia moderna de bordes a bordes. Pero hay una mejor forma nativa.

¿Qué es la pantalla de bordes a bordes?

La pantalla de bordes a bordes 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 la pantalla de bordes a bordes como estándar para todas las aplicaciones.

La Solución Oficial: ajustarMárgenesParaBordesAABBordes

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 la opción acepta tres valores:

adjustMarginsForEdgeToEdge: 'auto'

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

Ideal para: La mayoría de las aplicaciones de producción que desean tener una pantalla completa en dispositivos compatibles mientras mantienen la compatibilidad con versiones de Android más antiguas.

2. "force"

adjustMarginsForEdgeToEdge: 'force'

¿Qué hace: Forza ajustes de márgenes para pantalla completa sin importar la versión de Android o otras configuraciones.

Mejor para: Aplicaciones que desean comportamiento de borde a borde en todas las versiones de Android admitidas.

3. "disable"

adjustMarginsForEdgeToEdge: 'disable'

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

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

Nota: Actualmente "disable" es el valor predeterminado, pero esto cambiará a "auto" en Capgo 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 de sistema
  • Espaciado y relleno incómodo
  • Apariencia inconsistente en dispositivos diferentes
  • Experiencia de usuario deficiente

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 las á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. Modos de tema claro y oscuro - Prueba ambos modos de tema

Errores comunes a evitar

No Utilices Plugins para Esto

No necesitas plugins de terceros como capacitor-edge-to-edge o similar. La configuración nativa maneja esto limpiamente.

No mezcles con implementaciones manuales

Si estás utilizando adjustMarginsForEdgeToEdge, elimina cualquier manejo manual de ajustes de ventanas 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 ajustes de área segura de CSS 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 de 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

Recuerda que Capacitor 8 hará "auto" el valor por defecto. Para prepararse:

  1. Prueba con "auto" ahora para detectar cualquier problema temprano
  2. Actualiza tu CSS para manejar las áreas seguras correctamente
  3. Revisa tus diseños en dispositivos con pantalla de borde a borde habilitada

Recursos adicionales

Conclusión

La pantalla de borde a borde en 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 Comienza con

para la mayoría de las aplicaciones, prueba exhaustivamente en dispositivos y agrega CSS de área segura adecuado. Tu aplicación estará lista para Android 15 y más allá con un mínimo de esfuerzo. "auto" Tienes alguna pregunta o estás teniendo problemas?

Preguntas o estás teniendo problemas? The comunidad de Capacitor y la documentación oficial son recursos excelentes para obtener ayuda adicional. Continúa desde la pantalla de borde a borde en __CAPGO_KEEP_0__ sin plugins

Keep going from Edge-to-Edge Display in Capacitor Without Plugins

la pantalla de borde a borde en __CAPGO_KEEP_0__ sin plugins Edge-to-Edge Display in Capacitor Without Plugins Usando @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-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 Si estás utilizando la pantalla de borde a borde en capgo sin plugins para planificar el comportamiento de medios y interfaz nativos, conecta con @capgo/capacitor-reproductor-de-videos para la implementación detallada en @capgo/capacitor-reproductor-de-videos para la capacidad nativa en Using @capgo/capacitor-video-player, @capgo/capacitor-video-player para el detalle de implementación en @capgo/capacitor-video-player, y Using @capgo/capacitor-native-navigation para la capacidad nativa en Using @capgo/capacitor-native-navigation.

Actualizaciones en vivo para aplicaciones de Capacitor

Cuando haya un error en la capa web, envía 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 reciben la actualización en segundo plano mientras que los cambios nativos siguen en el camino de revisión normal.

Comienza ahora

Últimas noticias de nuestro blog

Capgo te da las mejores herramientas para crear una aplicación móvil verdaderamente profesional