Ir al contenido principal

Crear una pantalla de Carga en Power Apps

Muchas veces nos encontramos con aplicaciones que tienen cargas importantes de datos o colecciones en la pantalla inicial mediante OnStart, para evitar que el usuario este interactuando con la aplicación sin tener cargados todos los datos, podemos crear una pantalla de Loading inicialmente que una vez cargados los datos de acceso a la pantalla inicial de la aplicación. Para realizar esto, sigue los siguientes pasos:

Necesitarás al menos dos pantallas: una para la carga (por ejemplo, ScreenLoading) y la pantalla de inicio real (ScreenHome).

1. Pantalla de Carga (ScreenLoading)

  1. Inserta el GIF:
    • Ve a la pestaña Media (Medios) y Upload (Cargar) tu archivo GIF con el loading que te guste.
    • Inserta un control de Imagen en ScreenLoading y establece su propiedad Image al nombre de tu archivo GIF (ejemplo: MiGifDeCarga).
  2. Cubre la Pantalla con un color de background:
    • Inserta un control Rectangle (Rectángulo) y ajústalo para que cubra toda la pantalla. Dale un color de relleno (Fill) oscuro o el que desees.
    • Asegúrate de que el control Imagen del GIF esté delante de este rectángulo (usa la opción «Reorder» – Reordenar).
  3. Añade el Control Timer (Temporizador):
    • Inserta un control Timer (Temporizador) en ScreenLoading.

2. Lógica de la Aplicación (App.OnStart)

Aquí es donde se ejecutará tu lógica de carga inicial.

  • Variable de Control: Define una variable para rastrear si el proceso de carga ha finalizado.

Fragmento de código

// 1. Inicia la pantalla de carga

Navigate(ScreenLoading, ScreenTransition.None);

// 2. Establece la variable de control al inicio de la carga

Set(varCargaFinalizada, false);

// 3. Coloca AQUÍ toda tu lógica de carga (Collect, ClearCollect, LookUp, etc.)

// 4. Una vez que toda la lógica de carga haya terminado...

Set(varCargaFinalizada, true);

3. Configuración del Temporizador

Usa el Temporizador para esperar a que la variable varCargaFinalizada sea true y, opcionalmente, a que pase un tiempo mínimo para mostrar el GIF.

Propiedad del TemporizadorValor/FórmulaPropósito
Duration (Duración)1000 (milisegundos)Tiempo MÍNIMO para mostrar el GIF, si la carga es muy rápida.
AutoStartvarCargaFinalizadaEl temporizador comienza una vez que la lógica de OnStart ha terminado de ejecutarse y establece la variable en true.
RepeatfalseSolo debe ejecutarse una vez.
OnTimerEndNavigate(ScreenHome, ScreenTransition.Fade)Una vez que el temporizador finaliza, navega a la pantalla de inicio.

💡 Flujo de Ejecución

  1. El usuario abre la aplicación.
  2. Se ejecuta App.OnStart.
  3. Lo primero que hace es navegar a ScreenLoading y establece varCargaFinalizada en false.
  4. Se ejecuta toda tu lógica de OnStart (recolección de datos, etc.).
  5. Una vez finalizada la lógica, varCargaFinalizada se establece en true.
  6. Como Timer.AutoStart es varCargaFinalizada (que ahora es true), el temporizador comienza a contar.
  7. Después de la duración especificada (ejemplo: 1000 ms), se ejecuta Timer.OnTimerEnd, navegando a ScreenHome.

Carga, Loading, PowerApps

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.