📜Scroll Listener Helper

scroll_listener_helper.dart

Este arquivo contém uma única função, sem retorno algum. A função, de nome listenToScrollController serve para que seja possível "escutar" a qualquer scroll controller passado pra ela, e a verificação que é feita, é se o scroll chegou ao seu máximo em algum momento.

Pra que serve? Essa lógica, serve para quando queremos saber se o usuário chegou ao final de uma tela ou de uma lista, para realizar alguma ação, normalmente usamos para fazer a paginação de infinite scroll. É muito mais fácil utilizar ela em qualquer tela que seja necessário, do que implementar a sua lógica todas as vezes.

O código é o abaixo:

import 'package:flutter/widgets.dart';

void listenToScrollController({
  required ScrollController scrollController,
  required Function() onLoad,
}) {
  scrollController.addListener(() async {
    if (scrollController.position.pixels ==
        scrollController.position.maxScrollExtent) {
      await onLoad();
    }
  });
}

Exemplo do uso da função:

Neste exemplo, se este scroll chega ao fim, é chamado a função de buscar mais dados, da próxima página.

circle-exclamation

Last updated