Passer au contenu principal

Affichage Edge-to-Edge sans plugins dans Capacitor

Apprenez à configurer correctement l'affichage Edge-to-Edge dans vos applications Capacitor en utilisant l'option de configuration officielle adjustMarginsForEdgeToEdge - aucun plugin ou astuce n'est nécessaire.

Crédits de l'article

Martin Donadieu

Écrivain

Valeria

Relecteur

Jordan

Éditeur

Affichage Edge-to-Edge sans plugins dans Capacitor

Essayez d'implémenter un affichage Edge-to-Edge dans votre application Capacitor ? Vous n'avez pas besoin de trucs, de plugins ou de workarounds. Capacitor propose une prise en charge officielle de l'affichage Edge-to-Edge via l'option de configuration - ce n'est tout simplement pas bien documenté. adjustMarginsForEdgeToEdge De nombreux développeurs ont du mal avec les layouts Edge-to-Edge dans les applications __CAPGO_KEEP_0__, surtout lorsqu'elles visent Android 15+. Ils ont souvent recours à des plugins personnalisés ou des trucs CSS pour obtenir l'apparence moderne Edge-to-Edge. Mais il existe une meilleure façon, native.

Many developers struggle with edge-to-edge layouts in Capacitor apps, especially when targeting Android 15+. They often resort to custom plugins or CSS hacks to achieve the modern edge-to-edge look. But there’s a better, native way.

L'affichage Edge-to-Edge 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 l'affichage Edge-to-Edge comme standard pour toutes les applications.

La Solution Officielle : ajuster les marges pour l'affichage Edge-to-Edge

__CAPGO_KEEP_0__ fournit l'option de configuration spécifique à cet effet. Cela est documenté dans la documentation de configuration __CAPGO_KEEP_0__ officielle

Capacitor provides the adjustMarginsForEdgeToEdge Configuration de l'affichage Edge-to-Edge dans __CAPGO_KEEP_0__ Essayez d'implémenter un affichage Edge-to-Edge dans votre application Capacitor ?, mais c'est facile à manquer.

Comment le Configurer

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

La adjustMarginsForEdgeToEdge option accepte trois valeurs :

adjustMarginsForEdgeToEdge: 'auto'

Ce qu'il fait : Vérifie automatiquement Android 15+ et le windowOptOutEdgeToEdgeEnforcement paramètre. Ajuste les marges intelligemment en fonction de l'appareil et de la configuration.

Meilleur pour : La plupart des applications de production qui souhaitent une affichage de bord à bord sur les appareils pris en charge tout en maintenant la compatibilité avec les versions Android plus anciennes.

2. "force"

adjustMarginsForEdgeToEdge: 'force'

Ce qu'il fait : Force les ajustements de marges pour une affichage de bord à bord, quel que soit la version Android ou les autres paramètres.

Meilleur pour : Les applications qui souhaitent un comportement de bord à bord sur toutes les versions 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 de bord à bord ou qui ne souhaitent pas un comportement de bord à bord.

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

Pourquoi cela compte pour Android 15+

À partir d'Android 15, Google impose l'affichage sans bords comme comportement par défaut. Les applications qui ne gèrent pas correctement les dispositions sans bords peuvent rencontrer des problèmes d'interface utilisateur comme :

  • Contenu caché derrière les barres système
  • Écartement et marge maladroits
  • Apparence incohérente sur différents appareils
  • Expérience utilisateur défectueuse

En utilisant la configuration officielle adjustMarginsForEdgeToEdge config, vous vous assurez 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

Lors de l'utilisation d'une affichage à l'égard de l'arête, vous pouvez avoir besoin d'ajouter certaines règles 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-vous de la compatibilité inversée
  3. Les différentes tailles d'écran - Vérifiez que les dispositions fonctionnent sur différents appareils
  4. Les thèmes clair et sombre - Tester les deux modes de thème

Les Erreurs à Eviter

Ne Pas Utiliser les 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 d'un contrôle finement granulaire sur le chrome système après avoir activé adjustMarginsForEdgeToEdge, @capgo/capacitor-barre de navigation et @capgo/home-indicator @__CAPGO_KEEP_0__/indicateur de page d'accueil

compléter la configuration native sans la remplacer.

Ne Mélanger Avec Des Implementations Manuelles adjustMarginsForEdgeToEdgeSi vous utilisez  , supprimez tout le traitement manuel des insets de fenêtre ou les hacks CSS que vous avez ajoutés.

Don’t Forget CSS d’aire sûre

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

Guide de migration

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

  1. Supprimez tout plugin d'edge-to-edge 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évision de l'avenir

N'oubliez pas que Capacitor 8 fixera la valeur par défaut. "auto" 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 layouts sur les appareils avec écran écran écran activé

Ressources supplémentaires

Conclusion

Affichage Edge-to-edge dans Capacitor n'exige pas de plugins, de trucs ou de solutions compliquées. L'option de configuration fournit une solution native propre et futuriste, officiellement supportée. adjustMarginsForEdgeToEdge Démarrez avec

pour la plupart des applications, testez soigneusement sur plusieurs appareils et ajoutez des CSS de zone sûre appropriés. Votre application sera prête pour Android 15 et au-delà avec un minimum d'efforts. "auto" Questions ou rencontrez des problèmes ?

La communauté de __CAPGO_KEEP_0__ et la The Capacitor community and sont de grandes ressources pour obtenir de l'aide supplémentaire. Continuez avec Affichage Edge-to-Edge dans __CAPGO_KEEP_0__ Sans Plugins

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

Si vous utilisez Edge-to-Edge Display in Capacitor Without Plugins pour planifier le comportement natif des médias et de l'interface, connectez-l’à En utilisant @capgo/capacitor-activités-en-vivre pour la capacité native en utilisant En @capgo/capacitor-activités-en-vivre En @capgo/capacitor-activités-en-vivre pour le détail d'implémentation en @capgo/capacitor-activités-en-vivre En utilisant @capgo/capacitor-joueur-de-videos pour la capacité native en utilisant En @capgo/capacitor-joueur-de-videos En @capgo/capacitor-joueur-de-videos pour le détail d'implémentation en @capgo/capacitor-joueur-de-videos, et En utilisant @capgo/capacitor-navigation-native pour la capacité native en utilisant @capgo/capacitor-navigation native.

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

Lorsqu'un bug de la couche web est en direct, expédiez la correction par le biais de 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.

Support humain de Martin

Démarrer maintenant

Dernières actualités de notre blog

Capgo vous donne les meilleures informations dont vous avez besoin pour créer une application mobile vraiment professionnelle.