Passer au contenu principal

Affichage de bordure à bordure dans Capacitor sans plugins

Découvrez comment configurer correctement l'affichage de bordure à bordure dans vos applications Capacitor en utilisant l'option de configuration officielle adjustMarginsForEdgeToEdge - aucun plugin ou astuce n'est nécessaire.

Martin Donadieu

Martin Donadieu

Spécialiste du contenu

Affichage de bordure à bordure dans Capacitor sans plugins

Vous essayez d'implémenter l'affichage de bordure à bordure dans votre application Capacitor ? Vous n'avez pas besoin d'astuces, de plugins ou de solutions de contournement. Capacitor dispose d'une prise en charge officielle de l'affichage de bordure à bordure via adjustMarginsForEdgeToEdge option de configuration - ce n'est tout simplement pas bien documenté.

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

Qu'est-ce qu'une affichage de bord à bord ?

La mise en page de bord à bord permet à votre contenu d'application de s'étendre derrière les barres système (barre de statut et barre de navigation), créant une expérience d'interface utilisateur plus immersive et moderne. À partir d'Android 15, Google pousse la mise en page de bord à bord comme standard pour toutes les applications.

La Solution Officielle : ajuster les marges pour la mise en page de bord à bord

Capacitor fournit l'option de configuration spécifique à cet effet. Cela est documenté dans la documentation de configuration Capacitor officielle adjustMarginsForEdgeToEdge mais il est facile de le manquer. official Capacitor config documentationAjoutez cela à votre

ou

configuration 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;

Ou en format JSON :

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

Options de configuration

Le adjustMarginsForEdgeToEdge l'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 appareil et de la configuration.

Idéal pour : La plupart des applications de production qui veulent une bordure à l'arrêt sur les appareils pris en charge tout en maintenant la compatibilité avec les anciennes versions d'Android.

2. "force"

adjustMarginsForEdgeToEdge: 'force'

Ce qu'il fait : Force les ajustements de marges pour une bordure à l'arrêt, quel que soit la version d'Android ou les autres paramètres.

Meilleur pour : Les applications qui veulent une comportement edge-to-edge sur toutes les versions d'Android prises en charge.

3. "disable"

adjustMarginsForEdgeToEdge: 'disable'

Ce qu'il fait : Désactive complètement les ajustements de marges automatiques.

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

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

Pourquoi Cela Compte pour Android 15+

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

  • Contenu masqué derrière les barres système
  • Écartement et espacement inconfortables
  • Apparence incohérente sur les différents appareils
  • Expérience utilisateur décevante

En utilisant l'official adjustMarginsForEdgeToEdge config, vous vous assurez que votre application gère ces changements correctement sans un 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

Lors de l'utilisation d'une affichage écran à l'égard de l'arête, vous pouvez avoir besoin d'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. les appareils Android 15+ - Vérifiez que le contenu respecte correctement les barres système
  2. les versions Android plus anciennes - Assurez la compatibilité vers le bas
  3. les tailles d'écran différentes - Vérifiez que les dispositions fonctionnent sur plusieurs appareils
  4. les thèmes clair et sombre - Testez les deux modes de thème

Les erreurs courantes à éviter

N'utilisez pas de plugins pour cela

Vous n'avez pas besoin de plugins tiers comme capacitor-edge-to-edge ou similaire. La configuration native gère cela de manière propre. Si vous avez besoin d'un contrôle fin sur le chrome système après avoir activé adjustMarginsForEdgeToEdge, @capgo/capacitor-barre_de_navigation et @capgo/indicateur_d'accueil complétez la configuration native sans la remplacer.

Ne Mélangez pas avec des Implémentations Manuelles

Si vous utilisez adjustMarginsForEdgeToEdge, supprimez tout le traitement manuel des bordures de fenêtre ou les trucs CSS que vous avez ajoutés.

Ne Rendez pas l'Oubli de la Zone de Sécurité CSS

La configuration gère les ajustements de marge, mais vous avez toujours besoin d'utiliser les insets CSS de la zone de sécurité pour un padding de contenu correct.

Guide de Migration

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

  1. Supprimez tout plugin edge-to-edge de vos dépendances 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

N'oubliez pas que Capacitor 8 fera la valeur par défaut. Pour se préparer : "auto" Testez avec

  1. Testez avec "auto" maintenant pour détecter les problèmes potentiels 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 les appareils avec écran écran à bords

Ressources supplémentaires

Conclusion

L'affichage à bords écrans dans Capacitor n'exige pas de plugins, de trucs ou de solutions complexes. adjustMarginsForEdgeToEdge Cette option de configuration fournit une solution native et propre, officiellement prise en charge et future-proof.

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.

Questions ou en train de rencontrer des problèmes ? La communauté et la documentation officielle de Capacitor sont de grandes ressources pour obtenir de l'aide supplémentaire. Continuez de l'Edge-to-Edge Display dans __CAPGO_KEEP_0__ Sans Plugins Si vous utilisez

Edge-to-Edge Display dans Capacitor Sans Plugins

pour planifier le comportement des médias et de l'interface native, connectez-le avec En utilisant @Capacitor/__CAPGO_KEEP_1__-live-activities 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. Using @capgo/capacitor-live-activities pour la capacité native dans l'utilisation de @capgo/capacitor-live-activités, @capgo/capacitor-live-activités pour le détail d'implémentation dans @capgo/capacitor-live-activités, En utilisant @capgo/capacitor-video-joueur pour la capacité native dans l'utilisation de @capgo/capacitor-video-joueur, @capgo/capacitor-video-joueur pour le détail d'implémentation dans @capgo/capacitor-video-joueur, et En utilisant @capgo/capacitor-navigation-native pour la capacité native dans l'utilisation de @capgo/capacitor-navigation-native.

Mises à jour en temps réel pour les applications Capacitor

Lorsqu'un bug de la couche web est en ligne, 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 changements natifs restent dans le chemin de revue normal.

Commencez dès maintenant

Dernières actualités de notre blog

Capgo vous offre les meilleures informations nécessaires pour créer une application mobile véritablement professionnelle.