Zum Hauptinhalt springen
Zurück zu plugins
@capgo/capacitor-native-loader
Tutorial
@capgo/capacitor-native-loader

Native Loader

Zeige native animierte Loader, transparente Überlagerungen, Lottie-Assets und WebView-Vergrößerung von Ladezuständen aus JavaScript oder native code

Leitfaden

Tutorial zum Native Loader

Auf Gerät testen

Laden Sie die Capgo-App, dann scannen Sie die QR-code-Code.

Native Loader Plugin-Vorschau QR code

Mit @capgo/capacitor-native-loader

@capgo/capacitor-native-loader Rendert Ladezustände über native iOS- und Android-Ansichten. Verwenden Sie es, wenn ein Loader glatt bleiben muss, während sich der WebView beschäftigt, wenn transparente Vollbild-Effekte in CSS teuer sind oder wenn ein anderer native Plugin die Lade-UI vor der JavaScript-Ready-Status anzeigen muss.

Installieren

npm install @capgo/capacitor-native-loader
npx cap sync

Vollbild-Native Loader

import { NativeLoader } from '@capgo/capacitor-native-loader';

const { id } = await NativeLoader.show({
  style: 'siri',
  placement: 'fullscreen',
  message: 'Preparing your session',
  colors: ['#71f6ff', '#8b5cf6', '#ff4ecd', '#fff7ad'],
  scrimColor: 'rgba(3, 7, 18, 0.42)',
  interactionMode: 'block',
});

await initializeAppData();
await NativeLoader.hide({ id });

Kantenlader mit WebView-Größe

await NativeLoader.setWebViewLayout({
  mode: 'inset',
  insets: { top: 96 },
  animated: true,
});

await NativeLoader.show({
  style: 'wave',
  placement: 'top',
  message: 'Syncing changes',
  interactionMode: 'passThrough',
});

Wenn die Ladevorgänge abgeschlossen sind, wird der WebView wiederhergestellt:

await NativeLoader.hideAll({ restoreWebView: true });

Chrome-Stilige Top-Progress

Verwenden Sie den native Top-Progress-Lader, wenn Sie einen Browser-Ladebalken über dem WebView ohne Anfrage an CSS während schwerer Arbeit anzeigen 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 Kantenlader

Verwenden Sie siri-v2 für einen nativen Vollbildlader, der die Farbe um die Bildschirmkante bewegt, während der WebView sichtbar bleibt.

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 });

Lottie Loader

await NativeLoader.show({
  style: 'lottie',
  placement: 'center',
  asset: {
    type: 'lottie',
    source: 'loader.json',
    loop: true,
  },
});

Bündelte Assets sind am besten für Start-Loader geeignet, da sie vor Netzwerk-Anfragen und JavaScript-Initialisierung verfügbar sind.

Native Plugin Calls

Der Plugin stellt öffentliche native APIs bereit, damit ein anderes Plugin Loader direkt anzeigen oder verbergen kann.

Swift:

import CapgoCapacitorNativeLoader

let id = NativeLoader.shared.show(options: [
  "style": "orbit",
  "placement": "fullscreen",
  "message": "Opening secure session"
])

NativeLoader.shared.hide(id: id)

Kotlin:

import app.capgo.nativeloader.NativeLoader

val id = NativeLoader.show(
  activity = activity,
  options = mapOf(
    "style" to "orbit",
    "placement" to "fullscreen",
    "message" to "Loading profile",
  ),
  webView = bridge.webView,
)

NativeLoader.hide(id)

Nützliche Links

Fahren Sie mit dem Lesen von Using @capgo/capacitor-native-loader

Wenn Sie __CAPGO_KEEP_0__ verwenden Mit @capgo/capacitor-native-loader verwenden um native Medien und Schnittstellenverhalten zu planen und es mit @capgo/capacitor-native-loader für Implementierungsdetails Getting Started für die Einrichtung Mit @capgo/capacitor-native-navigation für native Chrome- und WebView-Ansichten und Mit @capgo/capacitor-transitions für WebView-Routenbewegungen