Langkah ke isi konten utama

Edge-to-Edge Display in Capacitor Without Plugins

Learn how to properly configure edge-to-edge display in your Capacitor apps using the official adjustMarginsForEdgeToEdge config option - no plugins or hacks needed.

Kredit Artikel

Martin Donadieu

Penulis

Valeria

Reviewer

Jordan

Pengulas

Edge-to-Edge Display in Capacitor Without Plugins

Trying to implement edge-to-edge display in your Capacitor app? You don’t need any hacks, plugins, or workarounds. Capacitor has official support for edge-to-edge display through the adjustMarginsForEdgeToEdge Opsi Konfigurasi - yang tidak terlalu banyak dokumentasi.

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.

Apa itu Tampilan Sisi-Sisi Penuh?

Tampilan sisi-sisi penuh memungkinkan konten aplikasi Anda untuk memanjang di balik bar sistem (status bar dan navigation bar), menciptakan pengalaman UI yang lebih imersif dan modern. Mulai dari Android 15, Google mempromosikan tampilan sisi-sisi penuh sebagai standar untuk semua aplikasi.

Solusi Resmi: adjustMarginsForEdgeToEdge

Capacitor provides the adjustMarginsForEdgeToEdge Pilihan konfigurasi khusus untuk tujuan ini. Ini terdokumentasi di Panduan Dokumentasi Konfigurasi Capacitor ResmiTapi mudah dilupakan.

Cara Mengkonfigurasinya

Tambahkan ini ke capacitor.config.ts atau 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;

Bagaimana Cara Mengkonfigurasinya

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

Pilihan Konfigurasi

Opsi ini menerima tiga nilai: adjustMarginsForEdgeToEdge Dianjurkan

adjustMarginsForEdgeToEdge: 'auto'

Apa yang dilakukan: Memeriksa secara otomatis untuk Android 15+ dan windowOptOutEdgeToEdgeEnforcement Mengatur margin dengan cerdas berdasarkan perangkat dan konfigurasi.

Terbaik untuk: Aplikasi produksi yang paling banyak yang ingin edge-to-edge pada perangkat yang didukung sambil menjaga konsistensi dengan versi Android yang lebih lama.

2. "force"

adjustMarginsForEdgeToEdge: 'force'

Apa yang dilakukan: Menggunakan penyesuaian margin secara paksa untuk edge-to-edge tanpa mempertimbangkan versi Android atau pengaturan lainnya.

Terbaik untuk: Aplikasi yang ingin perilaku edge-to-edge di semua versi Android yang didukung.

3. "disable"

adjustMarginsForEdgeToEdge: 'disable'

Apa yang dilakukan: Menghapus penyesuaian margin otomatis sepenuhnya.

Terbaik untuk: Aplikasi yang menghandle tata letak edge-to-edge secara manual atau tidak ingin perilaku edge-to-edge.

Catatan: Saat ini "disable" adalah default, tetapi ini akan berubah menjadi "auto" dalam Capacitor 8.

Mengapa Ini Penting untuk Android 15+

Mulai dengan Android 15, Google menerapkan tampilan tepi ke tepi sebagai perilaku default. Aplikasi yang tidak menghandle layout tepi ke tepi dengan benar mungkin mengalami masalah UI seperti:

  • Konten disembunyikan di balik bar sistem
  • Spasi dan padding yang tidak nyaman
  • Tampilan yang tidak konsisten di berbagai perangkat
  • Pengalaman pengguna yang buruk

Dengan menggunakan konfigurasi resmi adjustMarginsForEdgeToEdge Anda memastikan aplikasi Anda menghandle perubahan ini dengan benar tanpa custom code.

Contoh Lengkap

Sini ada contoh konfigurasi lengkap untuk aplikasi modern 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;

Pertimbangan CSS

Ketika menggunakan layar tepi-tepi, Anda mungkin perlu menambahkan beberapa CSS untuk mengatasi area aman:

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

Tes Konfigurasi Anda

Setelah mengonfigurasi adjustMarginsForEdgeToEdge, tes aplikasi Anda di:

  1. Perangkat Android 15+ - Periksa apakah konten dengan benar menghormati bar sistem
  2. Versi Android yang lebih tua - Pastikan kembali kompatibilitas
  3. Ukuran layar yang berbeda - Pastikan tata letak bekerja di perangkat-perangkat yang berbeda
  4. Templat Cahaya dan Tema Gelap - Uji mode tema baiklah

Kesalahan Umum untuk Dihindari

Tidak Menggunakan Plugin untuk Ini

Kamu tidak memerlukan plugin pihak ketiga seperti capacitor-edge-to-edge atau yang mirip. Konfigurasi native mengatasi hal ini dengan bersih. Jika kamu memerlukan kontrol yang halus atas sistem chrome setelah mengaktifkan adjustMarginsForEdgeToEdge, @capgo/capacitor-bar navigasi dan @capgo/home-indicator @__CAPGO_KEEP_0__/indikator home

menambahkan konfigurasi native tanpa menggantikannya.

Jika Anda menggunakan adjustMarginsForEdgeToEdgeHapus semua pengaturan jendela manual atau trik CSS yang telah Anda tambahkan.

Tidak Lupa CSS Area Aman

Pengaturan ini mengatur penyesuaian margin, tetapi Anda masih perlu menggunakan CSS area aman untuk memperoleh padding konten yang tepat.

Petunjuk Pindah

Jika Anda saat ini menggunakan plugin atau trik untuk edge-to-edge:

  1. Hapus semua plugin edge-to-edge dari dependensi Anda
  2. Tambahkan opsi pengaturan ke dalam capacitor.config.ts
  3. Membersihkan dan membangun ulang projek Android Anda
  4. Tes secara menyeluruh pada perangkat target
# Clean the Android project
npx cap sync android
cd android
./gradlew clean
cd ..

# Rebuild
npx cap copy android
npx cap open android

Mengantisipasi Masa Depan

Ingatlah bahwa Capacitor 8 akan membuat "auto" nilai default. Untuk mempersiapkan:

  1. Tes dengan "auto" saat ini untuk menangkap masalah-masalah sejak awal
  2. Perbarui CSS Anda untuk menghandle area-area yang aman dengan benar
  3. Ulas kembali tata letak Anda pada perangkat yang diaktifkan edge-to-edge

Sumber Tambahan

Kesimpulan

Layar sisi samping di Capacitor tidak memerlukan plugin, trik, atau cara kerja yang rumit. Opsi konfigurasi menyediakan solusi yang bersih dan asli yang mendapat dukungan resmi dan tahan lama. adjustMarginsForEdgeToEdge Mulai dengan

untuk aplikasi kebanyakan, lakukan tes secara menyeluruh di berbagai perangkat, dan tambahkan CSS area aman yang sesuai. Aplikasi Anda akan siap untuk Android 15 dan seterusnya dengan usaha yang minimal. "auto" Pertanyaan atau mengalami masalah?

Masyarakat __CAPGO_KEEP_0__ dan The Capacitor community and __CAPGO_KEEP_0__ Sumber daya ini sangat berguna untuk bantuan tambahan.

Teruskan dari Display Edge-to-Edge di Capacitor Tanpa Plugin

Jika Anda menggunakan Display Edge-to-Edge di Capacitor Tanpa Plugin Untuk merencanakan perilaku media dan antarmuka asli, hubungkannya dengan Menggunakan @capgo/capacitor-aktivitas-hidup untuk kemampuan asli di Menggunakan @capgo/capacitor-aktivitas-hidup @capgo/capacitor-aktivitas-hidup untuk detail implementasi di @capgo/capacitor-aktivitas-hidup Menggunakan @capgo/capacitor-pemain-video untuk kemampuan asli di Menggunakan @capgo/capacitor-pemain-video @capgo/capacitor-pemain-video untuk detail implementasi di @capgo/capacitor-video-player, dan Menggunakan @capgo/capacitor-native-navigation untuk kemampuan asli di Menggunakan @capgo/capacitor-native-navigation.

Update Langsung untuk Aplikasi Capacitor

Jika ada bug layer web yang hidup, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan update di latar belakang sementara perubahan native tetap dalam jalur review normal.

Bantuan Manusia dari Martin

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk membuat aplikasi seluler yang benar-benar profesional.