Zum Hauptinhalt springen

Randlos-Display in Capacitor ohne Plugins

Erhalten Sie Informationen, wie Sie ein Randlos-Display in Ihren Capacitor-Anwendungen mit der offiziellen adjustMarginsForEdgeToEdge-Konfigurationsoption richtig einrichten können - ohne Plugins oder Hacks.

Martin Donadieu

Martin Donadieu

Inhaltsmarketer

Randlos-Display in Capacitor ohne Plugins

Versuchen Sie, ein Randlos-Display in Ihrer Capacitor-Anwendung umzusetzen? Sie benötigen keine Hacks, Plugins oder Workarounds. Capacitor bietet eine offizielle Unterstützung für Randlose-Displays über die adjustMarginsForEdgeToEdge Konfigurationsoption - sie ist jedoch nicht weit verbreitet dokumentiert.

Viele Entwickler haben Schwierigkeiten mit Randlos-Layouts in Capacitor-Anwendungen, insbesondere wenn sie sich auf Android 15+ richten. Sie greifen oft auf benutzerdefinierte Plugins oder CSS-Hacks zurück, um das moderne Randlose-Aussehen zu erreichen. Aber es gibt eine bessere, native Möglichkeit.

Was ist Edge-to-Edge Display?

Edge-to-Edge-Display ermöglicht es Ihrem App-Inhalt, hinter Systemleisten (Statusleiste und Navigationsleiste) zu reichen, was ein umfassenderes, moderneres Benutzeroberflächenerlebnis schafft. Ab Android 15 drängt Google Edge-to-Edge als Standard für alle Apps vor.

Die offizielle Lösung: adjustMarginsForEdgeToEdge

Capacitor bietet die adjustMarginsForEdgeToEdge Konfigurationsmöglichkeit speziell zu diesem Zweck. Dies ist in der offiziellen Capacitor Konfigurationsdokumentationdokumentiert, aber leicht zu übersehen.

Wie man es konfiguriert

Fügen Sie dies Ihrem capacitor.config.ts oder 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;

Oder in JSON-Format:

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

Konfigurationsmöglichkeiten

Die Option akzeptiert drei Werte: adjustMarginsForEdgeToEdge Empfohlen

adjustMarginsForEdgeToEdge: 'auto'

Automatisch überprüft Android 15+ und die Einstellung. Anpassen Sie die Margen intelligent basierend auf dem Gerät und der Konfiguration. windowOptOutEdgeToEdgeEnforcement Am besten geeignet für:

Die meisten Produktionsanwendungen, die auf unterstützten Geräten eine Rand-zu-Rand-Ansicht wollen, während die Kompatibilität mit älteren Android-Versionen aufrechterhalten wird. Was es tut:

2. "force"

adjustMarginsForEdgeToEdge: 'force'

Zwingt Anpassungen der Margen für Rand-zu-Rand unabhängig von der Android-Version oder anderen Einstellungen. Am besten geeignet für:

Anwendungen, die eine Rand-zu-Rand-Ansicht auf allen unterstützten Android-Versionen wollen. __CAPGO_KEEP_0__

3. "disable"

adjustMarginsForEdgeToEdge: 'disable'

What es tut: Deaktiviert die automatische Anpassung der Randabstände vollständig.

Am besten geeignet für: Apps, die die Layoutanpassung an die Ränder selbstständig durchführen oder keine Ränder haben möchten.

Hinweis: Derzeit ist das Standardverhalten, aber dies wird sich in Capgo 8 in "disable" auf "auto" in Capacitor 8.

Weshalb das für Android 15+ wichtig ist:

Ab Android 15 erzwingt Google die Standardanzeige von Rändern. Apps, die nicht richtig mit Rändern umgehen, können UI-Probleme wie:

  • Inhalt, der hinter den Systemleisten verborgen ist
  • Unangenehme Abstände und Paddings erleben.
  • Inkonsistente Erscheinung auf verschiedenen Geräten
  • Poor user experience

Mit der offiziellen Verwendung von adjustMarginsForEdgeToEdge Sie stellen sicher, dass Ihre App diese Änderungen ordnungsgemäß ohne individuelle code handhabt.

Vollständiges Beispiel

Hier ist ein vollständiges Beispielkonfiguration für eine moderne Capacitor-App:

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;

CSS-Betrachtungen

Bei Verwendung einer edge-to-edge-Anzeige müssen Sie möglicherweise einige CSS hinzufügen, um sichere Bereiche zu handhaben:

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

Testen Sie Ihre Konfiguration

Nach der Konfiguration testen Sie Ihre App auf: adjustMarginsForEdgeToEdgeAndroid-Geräte ab Version 15

  1. Android 15+ devices - Stellen Sie sicher, dass der Inhalt die Systemleisten korrekt respektiert
  2. Ältere Android-Versionen - Stellen Sie die rückwärtskompatible Kompatibilität sicher
  3. Verschiedene Bildschirmgrößen - Überprüfen Sie, ob die Layouts auf verschiedenen Geräten funktionieren
  4. Helligkeit und Dunkelheit - Testen Sie beide Themenmodi

Häufige Fehler zu vermeiden

Verwenden Sie keine Plugins für dies

Sie benötigen keine dritten Parteien-Plugins wie capacitor-edge-to-edge oder ähnliche. Die native Konfiguration handhabt dies sauber.

Vermeiden Sie die Kombination mit manuellen Implementierungen

If Sie [__CAPGO_KEEP_0__] verwenden, adjustMarginsForEdgeToEdgeEntfernen Sie alle manuellen Fenster-Einrasten-Handling oder CSS-Hacks, die Sie möglicherweise hinzugefügt haben.

Denken Sie an sichere Bereiche CSS

Die Konfiguration handhabt Margin-Anpassungen, aber Sie müssen immer noch CSS-sichere Bereiche-Einrasten verwenden, um eine korrekte Inhaltsabstände zu gewährleisten.

Migrationshinweise

Wenn Sie derzeit Plugins oder Hacks für edge-to-edge verwenden:

  1. Entfernen Sie alle edge-to-edge-Plugins aus Ihren Abhängigkeiten
  2. Fügen Sie die Konfigurationsoption zu Ihrem capacitor.config.ts
  3. Stellen Sie Ihren Android-Projekt sauber und neu zusammen Stellen Sie Ihren Android-Projekt sauber und neu zusammen
  4. Sorgfältig testen auf Zielgeräten
# Clean the Android project
npx cap sync android
cd android
./gradlew clean
cd ..

# Rebuild
npx cap copy android
npx cap open android

Zukunftsweisende Sicherung

Beachten Sie, dass Capacitor 8 die Standardwerte setzen wird. Um sich vorzubereiten: "auto" Testen Sie mit

  1. jetzt "auto" um frühzeitig Probleme zu erkennen Aktualisieren Sie Ihre CSS
  2. um sicherzustellen, dass sichere Bereiche ordnungsgemäß behandelt werden Überprüfen Sie Ihre Layouts
  3. auf Geräten mit aktivierter Randlosigkeit __CAPGO_KEEP_0__

Zusätzliche Ressourcen

Fazit

Ein Capacitor-Display, das die gesamte Bildschirmfläche ausnutzt, benötigt keine Plugins, keine Hacks oder komplizierte Workarounds. Die Konfigurationsoption bietet eine saubere, native Lösung, die offiziell unterstützt und zukunftssicher ist. adjustMarginsForEdgeToEdge Beginnen Sie mit der Verwendung von __CAPGO_KEEP_0__ für die meisten Apps, testen Sie gründlich auf verschiedenen Geräten und fügen Sie die entsprechenden sicherheitsrelevanten CSS hinzu. Ihre App ist mit minimalen Anstrengungen auf Android 15 und darüber hinaus bereit.

Fragen oder Probleme? "auto" Die __CAPGO_KEEP_0__-Community und die offizielle Dokumentation

__CAPGO_KEEP_0__-Community und die offizielle Dokumentation Capacitor __CAPGO_KEEP_0__ sind großartige Ressourcen für zusätzliche Hilfe.

Bleiben Sie bei der Edge-to-Edge-Anzeige in Capacitor ohne Plugins

Wenn Sie Edge-to-Edge-Anzeige in Capacitor ohne Plugins zum Planen von nativen Medien und Schnittstellenverhalten verwenden, verbinden Sie es mit Mit @capgo/capacitor-live-Aktivitäten für die native Fähigkeit in Mit @capgo/capacitor-live-Aktivitäten, @capgo/capacitor-live-Aktivitäten für die Implementierungsdetails in @capgo/capacitor-live-Aktivitäten, Mit @capgo/capacitor-Video-Player für die native Fähigkeit in Mit @capgo/capacitor-Video-Player, @capgo/capacitor-Video-Player für die Implementierungsdetails in @capgo/capacitor-video-player, und Mit @capgo/capacitor-native-navigation für die native Fähigkeit in Mit @capgo/capacitor-native-navigation.

Live-Updates für Capacitor-Anwendungen

Wenn ein Fehler im Weblayer live ist, liefern Sie die Reparatur über Capgo anstatt Tage auf die Genehmigung des App-Stores zu warten. Die Benutzer erhalten die Aktualisierung im Hintergrund, während native Änderungen im normalen Review-Prozess bleiben.

Los geht's

Neuestes aus unserem Blog

Capgo bietet Ihnen die besten Einblicke, die Sie benötigen, um eine wirklich professionelle mobile App zu erstellen.