Passer à la navigation principale

Affichage écran sans bordure dans Capacitor sans plugins

Apprenez à configurer correctement l'affichage edge-to-edge dans vos applications Capacitor en utilisant l'option de configuration officielle adjustMarginsForEdgeToEdge - pas de plugins ou de hacks nécessaires.

Crédits de l'article

M. Donadieu

Auteur

Mme Valeria

Relecteur

M. Jordan

Editor

Affichage de bordure à bordure dans Capacitor sans plugins

Essayez d'implémenter l'affichage de bordure à bordure dans votre application Capacitor ? Vous n'avez pas besoin d'hacks, de plugins ou de workarounds. Capacitor propose une prise en charge officielle de l'affichage écran bord à bord par le adjustMarginsForEdgeToEdge option de configuration - il n'est tout simplement pas bien documenté.

Beaucoup de développeurs ont du mal avec les layouts edge-to-edge dans les applications Capacitor, surtout lorsqu'elles visent Android 15+. Ils recourent souvent à des plugins personnalisés ou des hacks CSS pour obtenir l'apparence moderne edge-to-edge. Mais il existe une meilleure façon, native.

Qu'est-ce que l'affichage edge-to-edge ?

L'affichage edge-to-edge permet à votre contenu d'application de s'étendre derrière les barres système (barre d'état et barre de navigation), créant une expérience UI plus immersive et moderne. À partir d'Android 15, Google pousse l'edge-to-edge comme standard pour toutes les applications.

La Solution Officielle : ajusterLesMargesPourAffichageDeBordA Bord

Capacitor fournit les adjustMarginsForEdgeToEdge option de configuration spécifique à cet usage. Cela est documenté dans le documentation officielle de configuration de Capacitormais c'est facile à manquer.

Comment le configurer

Ajoutez ceci à votre capacitor.config.ts or 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;

Ou sous format JSON :

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

Options de configuration

La adjustMarginsForEdgeToEdge option accepte trois valeurs :

adjustMarginsForEdgeToEdge: 'auto'

Ce qu'il fait : Vérifie automatiquement Android 15+ et la windowOptOutEdgeToEdgeEnforcement configuration. Ajuste les marges intelligemment en fonction du dispositif et de la configuration.

Meilleur pour : Most production apps that want edge-to-edge on supported devices while maintaining compatibility with older Android versions.

2. "force"

adjustMarginsForEdgeToEdge: 'force'

Ce qu'il fait : Ajustements de marges forcés pour écran écran sans tenir compte de la version d'Android ou d'autres paramètres.

Meilleur pour : Applications qui veulent un comportement bord-à-bord sur toutes les versions d'Android prises en charge.

3. "disable"

adjustMarginsForEdgeToEdge: 'disable'

What il fait : Active complètement les ajustements de marges automatiques.

Meilleur pour : Les applications qui gèrent manuellement la disposition edge-to-edge ou qui ne souhaitent pas un comportement edge-to-edge.

Note : Actuellement "disable" est la valeur par défaut, mais cela changera à "auto" en Capacitor 8.

Pourquoi Cela Compte pour Android 15+

À partir d'Android 15, Google impose le comportement d'affichage edge-to-edge par défaut. Les applications qui ne gèrent pas correctement les dispositions edge-to-edge peuvent rencontrer des problèmes de UI comme :

  • Le contenu caché derrière les barres système
  • Écartement et espacement incohérents
  • Apparence incohérente sur les appareils
  • Expérience utilisateur décevante

En utilisant la configuration officielle adjustMarginsForEdgeToEdge Vous vous assurez ainsi que votre application gère ces changements correctement sans code personnalisé.

Exemple complet

Voici un exemple de configuration complète pour une application moderne 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;

Considérations CSS

Lorsque vous utilisez une affichage à l'égard des bords, vous pouvez devoir ajouter du CSS pour gérer les zones de sécurité.

/* 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";
}

Testez votre configuration

Après avoir configuré adjustMarginsForEdgeToEdge, testez votre application sur :

  1. Appareils Android 15+ Vérifiez que le contenu respecte correctement les barres système
  2. Versions Android plus anciennes Assurez-vous de la compatibilité à rebours
  3. Tailles d'écran différentes - Verify layouts work across devices
  4. Thèmes clairs et sombres Testez les deux modes de thème

Erreurs courantes à éviter

N'utilisez pas de plugins pour cela

Vous n'avez pas besoin de plugins tiers comme capacitor-edge-to-edge ou similaires. La configuration native gère cela de manière propre. Si vous avez besoin de contrôler finement le chrome système après avoir activé adjustMarginsForEdgeToEdge, @capgo/capacitor-barre-de-navigation et @capgo/indicateur-d-acceuil complétez la configuration native sans la remplacer.

N'associez pas cela aux implémentations manuelles

Si vous utilisez adjustMarginsForEdgeToEdgeSupprimez tout traitement manuel des marges de fenêtre ou les astuces CSS que vous avez ajoutées.

N'oubliez pas le CSS de zone de sécurité

La configuration gère les ajustements de marge, mais vous devez toujours utiliser les insets de zone sûre CSS pour un padding de contenu correct.

Guide de migration

Si vous utilisez actuellement des plugins ou des astuces pour l'edge-to-edge :

  1. Supprimez tout plugin edge-to-edge à partir de vos dépendances
  2. Ajoutez l'option de configuration à votre capacitor.config.ts
  3. Nettoyez et reconstruisez votre projet Android
  4. Testez soigneusement sur les appareils cibles
# Clean the Android project
npx cap sync android
cd android
./gradlew clean
cd ..

# Rebuild
npx cap copy android
npx cap open android

Prévoyez l'avenir

Rappelez-vous que Capacitor 8 fera "auto" la valeur par défaut. Pour vous préparer :

  1. Testez avec "auto" maintenant pour détecter les problèmes dès le début
  2. Mettez à jour votre CSS pour gérer les zones de sécurité correctement
  3. Vérifiez vos maquettes Sur appareils avec écran bord à bord

Ressources supplémentaires

Conclusion

Affichage écran sans interruption en Capacitor n'exige pas de plugins, de trucs ou de solutions compliquées. adjustMarginsForEdgeToEdge option de configuration offre une solution native propre et futuriste, officiellement supportée.

Commencez par "auto" pour la plupart des applications, testez soigneusement sur plusieurs appareils et ajoutez un CSS de zone de sécurité appropriée. Votre application sera prête pour Android 15 et au-delà avec un minimum d'efforts.

Problèmes ou difficultés rencontrées ? La communauté et la documentation officielle de Capacitor sont de grandes ressources pour obtenir de l'aide supplémentaire. documentation officielle are great resources for additional help.

Affichage Edge-to-Edge dans Capacitor Sans Plugins

Si vous utilisez En utilisant @Capacitor/__CAPGO_KEEP_1__-live-activités pour planifier le comportement des médias et de l'interface native, le connecter avec Utilisation de @capgo/capacitor-activités en direct pour la capacité native dans En utilisant @capgo/capacitor-live-activités capgo/capacitor-activités en direct pour le détail d'implémentation dans capgo/capacitor-activités en direct, En utilisant capgo/capacitor-joueur de vidéo pour la capacité native dans En utilisant capgo/capacitor-joueur de vidéo, capgo/capacitor-joueur de vidéo pour le détail d'implémentation dans capgo/capacitor-joueur de vidéo, et En utilisant capgo/capacitor-navigation native pour la capacité native dans En utilisant capgo/capacitor-navigation native.

Actualisations en temps réel pour les applications Capacitor

Même si un bug de la couche web est actif, envoyez la correction à travers Capgo au lieu d'attendre des jours pour l'approbation de la boutique d'applications. Les utilisateurs reçoivent la mise à jour en arrière-plan tandis que les modifications natives restent dans la voie de revue normale.

Dernières actualités

Capgo gives you the best insights you need to create a truly professional mobile app.