Nosotros dejamos en el pasado nuestro infinito trabajando.
Está funcionando correctamente con la única diferencia de que nosotros tenemos la data en el instante.
Es decir apenas llegamos al final llamamos el método de agregar 10 y ya tenemos nuevos registros y hacemos
el loading de los siguientes y no hay ninguna demora.
Pero esto no es el caso de una petición HTTP.
Si nosotros queremos tener los siguientes registros por lo menos vamos a tener unos cuantos milésimas
de segundo destile o tener que esperar para traer la información.
Entonces voy a comentar esa línea de agregar 10 por ciento lo voy a hacer ahí voy a quedarme un método
llamado Fetch data o key traer información nada del otro mundo simplemente FEX data.
Este método lo voy a implementar aquí al final justo abajo de la agregar 10 lo voy a poner aquí para
que no nos confundamos.
Fetch data el Fetch data es un fichero o va a regresar un fichero parentesis Arise Rojas.
Vamos a hacer una demora aquí local.
Ya luego haremos en las próximas secciones.
Vamos a hacer peticiones reales.
Aquí simplemente quiero simular un Vile antes de llamar Fetch.
Los siguientes registros y lo más es lo siguiente manera de definir que estos son también para poder
utilizar el aguaytãa.
Primero que nada voy a ocupar tener una bandera que me diga cuando estoy cargando información y cuando
no vamos a crearnos esa propiedad de una vez.
Justo aquí abajo del último ítem va a ser un vull que se llame loading o está cargando igual a falso
Ok este es loading lo voy a cambiar cada vez que llame el Fetch Stata ok vamos a bajar y voy a decir
que Isla adding va a ser igual a otro punto y coma en este preciso instante si yo quiero actualizar
el DOM porque esta propiedad cambio y quiero mostrar algún widget que se encargue de mostrar el loading
tendría que decir el set stated que simplemente llamar ese método.
De esa manera le estoy diciendo aquí a Flores que se tiene que redibujar porque una propiedad cambió.
Y si en algún lugar yo tengo que ir loading o sea si algo está cargando entonces mostrar el widget aquí
sería el lugar para bueno sería el momento de ejecutar qué quiero hacer acá voy a llamar el método Newtype.
El Newtype.
Esto tienen que importarlo de la librería Dart Zink hacen clic ahí asegúrese de importarlo de acá.
De esa manera segura será temerlo así bajemos y el timer si yo pongo paréntesis me permite a mí definir
dos cosas.
Necesita el duration que ustedes ya lo han visto anteriormente y necesita el Kovac que se va a ejecutar
cuando se cumpla ese duration.
Para eso voy a quedarme aquí una propiedad final llamada duration o.
Duración Raison le voy a poner igual a new duration que va a tener dos segundos dos punto y coma.
Vamos a llamar aquí el duration sea dos segundos Koma y voy a ejecutar un método llamada o llamado respuesta
HTTP o el nombre que ustedes quieran darle.
Esta respuesta HTTP todavía no existe y la voy a definir acá también voy.
Respuesta HTTP pocas palabras lo que quiero hacer es que cuando pasen los dos segundos quiero disparar
este meto Punto y Coma y déjenme retornar esto para que haga cumplir la condición de que regrese un
futuro puedo ser especifico y la verdad es que este Newtype no regresa nada por lo cual yo podría poner
aquí que regresa pero no está mal definir qué tipo de valor resuelve este hecho.
Vamos a ver si aquí todo está bien.
Recuerden que no estoy poniendo aquí los paréntesis porque si no la ejecutarían en ese instante simplemente
quiero mandar la referencia a esa función o este método.
Aquí yo voy a hacer lo siguiente primero y slowdown igual Foss porque ya terminé de cargar si yo ya.
Si ya pasaron dos segundos quiere decir que ya terminé de cargar por consecuencia también tendría que
llamar el método de STEUAQ para indicar que ya se acabó.
Pero si ustedes se fijan en el método de agregar 10 yo también ya lo tengo tengo que ser stated.
Lo único que quiero hacer acá es llamar ese agregar 10 entonces agregar 10 punto y coma bien.
Vamos a probarlo.
Llamemos este FEX data seguramente que lo estemos llamando a quien el listed lo llamemos grabo los cambios.
Eso hace un otro hilo pero recuerden que este Líster no cambia o sea siempre está apuntando a la función
anterior de agregar 10.
Por consecuencia tengo que regresarme volver a entrar y aquí llego al final espero los 2 segundos y
2 segundos.
Aquí no funciona.
2 segundos después ya puedo seguir haciendo scroll.
Ok.
Por cierto hay algo muy importante que se me olvidó explicar en la clase pasada del scroll controlen
el scroll Controller es como cualquier otro controller algo que está escuchando todos los cambios o
sea todos los cambios que sucedan en este scroll y si yo regreso y vuelvo a entrar y regreso y vuelvo
a entrar en teoría estoy creando.
Cada vez que entro a la pantalla de alguna manera yo tengo que desechar este color control o sea decirle
que ya no me interesa y eso se va a disparar cuando se destruya esta página o se haga el disputase de
la página.
Ese disipados de la página se dispara cuando la página es destruida.
Aquí tenemos un método dispones también Tapp es este código que se dispara ya como les dije cuando la
página ya deja de existir en el stack de páginas.
Lo único que quiero llamar acá es el scroll control el punto O sea para vaciarlo para prevenir fugas
de memoria.
Eso sería todo por ese lado.
Si ustedes notan cuando yo llego al final de la página llego al final de página pasan 2 segundos pero
yo no sé qué está sucediendo o sea no hay ningún loading no hay ningún indicador no hay nada que me
diga a mí que tengo que esperar 2 segundos o que todavía no se resuelve la información hasta que pasaron
dos segundos es momento de crearnos un pequeño loading.
Esa es la adding a irnos a nuestro Wílder vamos a donde está nuestro Bboy y lo voy a implementar en
este lugar.
Por qué lo quiero crear acá.
Porque quiero que estés sobre el ríspidos aquí quiero que aquí aparezca un Loring.
Para eso voy a utilizar algo que va a ser la primera vez que vemos.
Se acuerdan que hemos trabajado mucho con las columnas hemos trabajado mucho con los robots.
Ahora vamos a trabajar con el elemento llamado stack que funciona exactamente igual.
Tiene su Children y ahí es donde vamos a colocar la lista.
Ok Fernando cuál es la diferencia entre la columna del blog.
Bueno que uno ordena en vertical otro horizontal y que hace el stack el stack simplemente los apila
todos juntos unos encima de otros.
Ya lo van a ver.
Lo que quiero colocar acá es el método crear loading método crear la outing este método no existe.
Lo vamos a implementar aquí al final también aquí lo voy a implementar es un widget crear loading ladrillero
llaves y listo.
Aquí voy a hacer una pequeña decisión y voy a decir que si está cargando así Islami voy a ser un ratón
de voy a colocar un circular Progrès indicado nada más.
Ya lo van a ver funcionando si no está cargando.
Entonces voy a retornar un conte un contenedor vacío un container porque siempre hay que regresar un
widget.
Traemos los cambios.
Esto recarga acá puedo salirme y volver a entrar bajo.
Y aquí aparece el audio aquí arriba y al final aparece Lady cuando deja cargar desaparece y al final
deja de cargar y desaparece.
Muy muy conveniente pero no quiero que tenga ese efecto.
Vamos a darle rápidamente el estilo que yo estoy esperando para este bueno yo esperaría en ese elemento
pueda regresar a una columna una columna que ustedes saben que les pide un children.
Dentro de este Children yo voy a colocar lo que yo quiero es colocarlo y Central Rockin medios al final
y aquí medio para eso de las columnas quiero que el accessible sea igual al main Axis sic al tamaño
máximo que tenga también el main Axis alignment va a ser igual al main Axis alignment y coloquemos al
final salió no quiero que esté aquí o sea la historia que estuviera en este punto.
Ahora necesito centrarlo siempre en medio y para eso podría utilizar un Rou entonces aquí adentro creando
un Rou parentesis enter que tiene su Children tap dentro del Children.
Ahí es donde voy a colocar mi Progrès indicaron.
Mi indicador de progreso.
Esto no lleva Punto y Coma y definamos que estos hijos salgan centrados también dentro del ROU.
Axis alignment VA A SER EL Main acceso a la inmensa Center y creo que esto sería.
Creo que esto sería todo.
Voy a grabar los cambios y vamos a probarlo.
Llego el final al final y apareció pareció bien pero pareció muy abajo.
Podría colocar dentro de la columna dentro de esta columna.
Note que el Children de la columna cierra aquí justo después del rock coma voy a colocar un 6 Box 6
box con un hit de unos 15 puntos cero píxeles.
Esto debería ser la separación suficiente de abajo.
También podría haber agregado un Padín como ustedes quieren llegar al final perfecto.
El Odin está ahí termina y ya puedo moverme el siguiente.
Ahora sería bonito sería bonito que cuando yo llego al final ven como que yo no sé qué cargos llama
registros.
Me gustaría que se moviera un poquito y que me dijera que hay más registros que automáticamente se mostrarán
esos nuevos registros.
Cómo podemos hacer eso.
Cuando ya tenemos la respuesta del servicio HTTP en este punto yo puedo mover el scroll porque yo ya
sé que hay más registros acá.
Para eso puedo decir scroll controller punto.
Animate tú y aquí me pide.
Cuál es la posición en la cual yo quiero.
Yo sé cuántos pixeles tiene ese scroll.
Controles se acuerdan.
Sería escrotal controles.
Sería mejor copiarlo.
No sé por qué a veces no me sale la ayuda.
Punto.
Posición.
Punto.
Píxels y como yo estoy en la posición actual le voy a sumar 100 porque yo sé que ahora hay más puedo
ponerle también el CURP que ya saben qué es seleccionar un Courts.
Punto Fast out in para que se mire un poquito más bonito.
Y también puedo colocar el duration cuánto tiempo quiero que haga esta animación.
Duration Basse duration que ustedes ya son expertos en estas propiedades de unos 250 milisegundos.
Aquí falta un punto y coma grave grabo los cambios y cuando yo obtenga la respuesta HTTP debería de
moverse un poco el scroll vamos a seguirnos hasta el final
ven y se lleva el final.
Pero vamos a ver si el mouse me deja funcionar déjeme hacer un TriStar nuevamente.
Si ustedes lo están probando en su dispositivo físico es lo mejor que se puede hacer para tener una
prueba real.
Por qué el emulador a veces no funciona tan bien como dispositivo físico.
Pero llegó al final y se hace el scroll llegó el final y se mueve el scroll.
Vamos a dejarlo así.
Espero que estos videos les estén sirviendo muchísimo tanto para las personas que son nuevas aflorar
como para las personas que ya lo conocían a profundidad.
Entonces vean el siguiente video.