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

Carga nativa

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

Guía

Tutorial sobre Carga Nativa

Probar en dispositivo

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

Vista previa del plugin de cargador nativo QR code

Usando @capgo/capacitor-cargador-nativo

@capgo/capacitor-native-loader Rendice estados de carga a través de vistas nativas de iOS y Android. Utilízalo cuando un cargador necesita permanecer suave mientras la vista de WebView está ocupada, cuando los efectos de pantalla completa transparente son costosos en CSS, o cuando otro plugin nativo necesita mostrar la interfaz de carga UI 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 con redimensionamiento de WebView

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, restaura la WebView:

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

Progreso superior como en Chrome

Utiliza el cargador de progreso superior nativo cuando quieras una barra de carga como en el 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

Utiliza 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.

Llamadas de plugin nativo

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 Usando @capgo/capacitor-cargador-nativo

Si estás utilizando Usando @capgo/capacitor-loader nativo para planificar el comportamiento de medios y interfaz nativa, conecte con @capgo/capacitor-loader nativo para detalles de implementación, Inicio para configuración, Usando @capgo/capacitor-navegación nativa para la disposición de Chrome y WebView nativa, y Usando @capgo/capacitor-transiciones para el movimiento de rutas de WebView.