Saltar al contenido principal
Volver a plugins
@capgo/capacitor-cargador-nativo
Tutoriales
@capgo/capacitor-cargador-nativo

Cargador Nativo

Mostrar cargadores animados nativos, capas transparentes, recursos Lottie y estados de carga de WebView desde JavaScript o code nativo

Guía

Tutorial sobre Carga Nativa

Probar en dispositivo

Descargar la aplicación Capgo, luego escanea el código QR code.

Enlace QR de vista previa del plugin de carga nativa code

Usando @capgo/capacitor-carga-nativa

@capgo/capacitor-native-loader renders estados de carga a través de vistas nativas de iOS y Android. Utilícelo cuando un cargador necesita mantenerse suave mientras la WebView está ocupada, cuando los efectos de pantalla completa transparentes son costosos en CSS, o cuando otro plugin nativo necesita mostrar la interfaz de carga antes de que JavaScript esté listo.

Instalar

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

Cargador de pantalla completa nativo

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

Cargador de borde de WebView con resize de Edge

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

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

Cuando termina la carga, restaure la WebView:

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

Cargador de progreso de arriba como en Chrome

Utilice el cargador de progreso de arriba nativo cuando desee una barra de carga similar a un navegador por encima de la WebView sin pedir a CSS que anime durante el trabajo pesado.

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

Cargador de borde de Siri V2 con Edge

Utilice siri-v2 para un cargador de pantalla completa nativo que mueve el color alrededor de la pantalla de borde mientras la WebView permanece visible.

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

Cargador Lottie

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

Los activos empaquetados son los mejores para los cargadores de inicio porque están disponibles antes de las solicitudes de red y la inicialización de JavaScript.

Native Plugin Calls

El plugin expone APIs nativas públicas para que otro plugin pueda mostrar o ocultar cargadores directamente.

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)

Enlaces útiles

Sigue adelante desde Using @capgo/capacitor-loader-nativo

Si estás utilizando Utilizando @capgo/capacitor-loader-nativo para planificar el comportamiento de medios y interfaz nativa, conecta con @capgo/capacitor-loader nativo para detalles de implementación, Iniciación para configuración, Usando @capgo/capacitor-navegación nativa para diseño de layout de Chrome y WebView nativo, y Usando @capgo/capacitor-transiciones para movimiento de rutas de WebView.