Как я могу реализовать Staggered Grid View с функцией отложенной загрузки на Flutter?

Я пытаюсь создать приложение для обоев с Staggered Grid View на Flutter, и для этой цели я пытаюсь использовать Staggered Grid View Package на Flutter (https://pub.dartlang.org/packages/flutter_staggered_grid_view). Но дело в том, что мой список обоев становится все больше и требуется много времени, чтобы загрузить все изображения одновременно.

После некоторого поиска я наткнулся на пакет Flutter-Pagewise, но не знаю, как его реализовать с помощью Staggered Grid View.


person Itzkhan    schedule 02.05.2019    source источник
comment
использовать конструкторы StaggeredGridView.builder / StaggeredGridView.countBuilder   -  person pskink    schedule 02.05.2019
comment
Хорошо! Они ведь нужны только для построения сетки, не так ли? Или они тоже могут справиться с ленивой загрузкой?   -  person Itzkhan    schedule 02.05.2019
comment
dev.to/fallenstedt/building-widgets-on-demand- with-flutter-48dd   -  person pskink    schedule 02.05.2019
comment
Привет, @ltzkhan, ты нашел решения ?? У меня такая же проблема.   -  person Zeck    schedule 28.05.2019
comment
Извини, Зек, мне не удалось решить проблему.   -  person Itzkhan    schedule 28.05.2019


Ответы (1)


Лучше всего создать ScrollController ()

Инициализируйте контроллер прокрутки, чтобы получать уведомление о конце длины элемента, убедитесь, что вы добавили этот контроллер в представление сетки с шахматным уклоном.

 _scrollController.addListener(() {
  if (_scrollController.position.pixels ==
      _scrollController.position.maxScrollExtent) {
    _getmoreData();
  }
});

Вы можете инициализировать представление сетки в шахматном порядке следующим образом

StaggeredGridView.countBuilder(
                          controller: _scrollController,
                          crossAxisCount: 2,
                          itemcount: length + 1)

Внутри конструктора проверка индекса равна длине, и вы можете отобразить круглый индикатор прогресса или индикатор по вашему выбору.

person Zahid Ahmed    schedule 05.04.2020