С Flutter RefreshIndicator вы можете сказать, каким образом он был вытянут, сверху или снизу в onRefresh? - PullRequest
0 голосов
/ 23 октября 2018

С Flutter я использую RefreshIndicator со своим списком, который работает хорошо.Я хотел бы обновить данные, когда они потянулись сверху вниз, и загрузить больше постраничных данных, если они потянулись снизу вверх.Есть ли способ указать в обратном вызове onRefresh, чтобы определить, был ли он извлечен сверху или снизу?

class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
  return RefreshIndicator(
    onRefresh: () {},
    child: ListView ...

1 Ответ

0 голосов
/ 23 октября 2018

Я не думаю, что в настоящее время это возможно с помощью метода onRefresh.

Может быть, вы можете достичь того, чего хотите, с помощью ScrollController:

1) Определите его: var _scrollController = new ScrollController();

2) На виджете theww initState добавьте свой контроллер прокрутки
listener и проверьте, был ли элемент прокручен, и, если это так, получите направление, в котором он прокручивался.Кроме того, если вы хотите, чтобы он загружал больше контента после того, как свиток достигнет конца списка, вы также можете сделать это здесь.

_scrollController.addListener(() {
    print(lastOffset < _scrollController.position.pixels ? "down" : "up");
    lastOffset = _scrollController.position.pixels;
    if (_scrollController.position.pixels ==
        _scrollController.position.maxScrollExtent) {
        // loadMoreContent();
       }
     });
});
...