Einstieg
Ein Setup-Prompt mit den Installations-Schritten und der vollständigen Markdown-Anleitung für diesen Plugin kopieren.
Set up this Capacitor plugin in the project.
Use the package manager already used by the project.
Install these package(s): `@capgo/capacitor-native-loader`
Run the required Capacitor sync/update step after installation.
Read this markdown guide for the full setup steps: https://raw.githubusercontent.com/Cap-go/website/refs/heads/main/apps/docs/src/content/docs/docs/plugins/native-loader/getting-started.mdx
Use that guide for platform-specific steps, native file edits, permissions, config changes, imports, and usage setup.
If that guide references other docs pages, read them too.
Installation
Abschnitt mit dem Titel „Installation“Sie können unsere KI-gestützte Einrichtung verwenden, um das Plugin zu installieren. Fügen Sie die Capgo-Fähigkeiten zu Ihrem KI-Tool hinzu, indem Sie den folgenden Befehl ausführen:
npx skills add https://github.com/Cap-go/capgo-skills --skill capacitor-pluginsDann verwenden Sie den folgenden Prompt:
Use the `capacitor-plugins` skill from `Cap-go/capgo-skills` to install the `@capgo/capacitor-native-loader` plugin in my project.Wenn Sie die manuelle Einrichtung bevorzugen, installieren Sie das Plugin, indem Sie die folgenden Befehle ausführen und folgen Sie den unten angegebenen Plattform-spezifischen Anweisungen:
-
Das Paket installieren
Terminalfenster npm install @capgo/capacitor-native-loadernpx cap sync -
Ein natives Ladebild von JavaScript anzeigen
import { NativeLoader } from '@capgo/capacitor-native-loader';const { id } = await NativeLoader.show({style: 'siri',placement: 'fullscreen',message: 'Preparing workspace',colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'],scrimColor: 'rgba(3, 7, 18, 0.42)',interactionMode: 'block',});await doExpensiveWork();await NativeLoader.hide({ id });
Standardeinstellungen konfigurieren
Abschnitt mit dem Titel „Standardeinstellungen konfigurieren“await NativeLoader.configure({ defaults: { style: 'orbit', placement: 'center', size: 96, colors: ['#38bdf8', '#a78bfa'], reducedMotion: 'system', interactionMode: 'passThrough', },});Chrome-Style-Top-Lader
Abschnitt mit dem Titel „Chrome-Style-Top-Lader“Verwenden style: 'chrome' Wenn Sie das vertraute Browser-Top-Progress-Balken und den WebView unten darunter benutzen möchten.
const { id } = await NativeLoader.show({ style: 'chrome', placement: 'top', colors: ['#4285f4', '#34a853', '#fbbc05', '#ea4335'], thickness: 4, interactionMode: 'passThrough', webView: { mode: 'resize', insets: { top: 12 }, restoreOnHide: true, },});
await NativeLoader.hide({ id, restoreWebView: true });Siri V2 Edge Loader
Abschnitt: Siri V2 Edge LoaderVerwenden style: 'siri-v2' wenn der Ladezustand ein natürlicher, vollbildschirmiger Farb- und Bewegungs-Effekt an der App-Kante sein sollte, anstatt eines zentrierten Karten-Elements.
const { id } = await NativeLoader.show({ style: 'siri-v2', placement: 'fullscreen', colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'], thickness: 10, scrimColor: 'rgba(3, 7, 18, 0.10)', interactionMode: 'passThrough',});
await NativeLoader.hide({ id });Aktualisierungsfortschritt
Abschnitt: Aktualisierungsfortschrittconst { id } = await NativeLoader.show({ style: 'ring', message: 'Uploading', progress: 0,});
for await (const progress of uploadFile(file)) { await NativeLoader.setProgress({ id, progress });}
await NativeLoader.hide({ id });Die WebView anpassen
Abschnitt: Die WebView anpassenVerwenden setWebViewLayout wenn ein natürlicher Lader einen Teil des Bildschirms besitzen sollte, während Web-Inhalt sichtbar und nutzbar bleibt.
await NativeLoader.setWebViewLayout({ mode: 'inset', insets: { top: 96, bottom: 24 }, animated: true,});
await NativeLoader.show({ style: 'wave', placement: 'top', size: 72, message: 'Syncing', interactionMode: 'passThrough',});Wiederherstellen Sie die ursprüngliche Layout, wenn die native Oberfläche verschwunden ist:
await NativeLoader.hideAll({ restoreWebView: true });Lottie und Bildläder
Abschnitt mit dem Titel „Lottie und Bildläder“Bündeln Sie Lottie-JSON- oder Bild-Assets in der native App und referenzieren Sie sie aus JavaScript.
await NativeLoader.show({ style: 'lottie', placement: 'center', asset: { type: 'lottie', source: 'rocket-loader.json', loop: true, },});await NativeLoader.show({ style: 'image', placement: 'bottom', asset: { type: 'image', source: 'loader-frame', },});Native Swift-Aufrufe
Abschnitt mit dem Titel “Native Swift Calls”Andere iOS-Plugins können den gemeinsamen Loader direkt aufrufen.
import CapgoCapacitorNativeLoader
let id = NativeLoader.shared.show(options: [ "style": "siri", "placement": "fullscreen", "message": "Opening secure session", "interactionMode": "block"])
NativeLoader.shared.setProgress(id: id, progress: 0.6)NativeLoader.shared.hide(id: id)Native Kotlin Calls
Abschnitt mit dem Titel “Native Kotlin Calls”Andere Android-Plugins können die öffentliche Klasse von Kotlin oder Java aufrufen.
import app.capgo.nativeloader.NativeLoader
val id = NativeLoader.show( activity = activity, options = mapOf( "style" to "orbit", "placement" to "fullscreen", "message" to "Loading profile", "interactionMode" to "block", ), webView = bridge.webView,)
NativeLoader.setProgress(id, 0.6)NativeLoader.hide(id)Gemeinsame Optionen
Abschnitt mit dem Titel “Gemeinsame Optionen”| Option | Typ | Beschreibung |
|---|---|---|
style | 'siri' | 'siri-v2' | 'chrome' | 'orbit' | 'ring' | 'pulse' | 'dots' | 'bars' | 'wave' | 'halo' | 'lottie' | 'image' | Ladegeräte-Renderer |
placement | 'center' | 'top' | 'bottom' | 'left' | 'right' | 'fullscreen' | 'around' | 'custom' | Position des nativen Oberflächenbereichs |
interactionMode | 'passThrough' | 'block' | 'loaderOnly' | Touch-Handling |
backgroundColor | string | Über- oder Hintergrundfarbe, einschließlich Alpha |
scrimColor | string | Vollbildschirm- oder umschließende-Schattenfarbe |
colors | string[] | Farben des Loader-Gradienten |
progress | number | Bestimme Wert von 0 bis 1 |
autoHide | number | Millisekunden vor automatischer Versteckung |
asset | object | Quelle des Lottie- oder Bildassets |
Verwende reducedMotion: 'system' um die Plattform-Bewegungseinstellungen des Benutzers zu respektieren.