簡體   English   中英

如何在 flutter 中檢測 Listview 構建器/屏幕的半滾動?

[英]How to detect half scroll of Listview builder / screen in flutter?

我正在從 API 構建一個頁面瀏覽器構建器。 現在我的目標是,當用戶在屏幕中間時,我想檢測到它並再次調用 API。 現在我只能檢測到用戶何時點擊屏幕底部。

我的代碼的一部分

 _scrollController.addListener(() {
      if (((_scrollController.position.pixels)) ==
          (_scrollController.position.maxScrollExtent)) {
        if (dataMap['has_more'] == true) {
          _pageNumber++;
          BottomLoader.of(context).during(jobMapGenerator(_pageNumber));
        }
      }
    });

我試圖通過這樣做來實現目標,

if ((_scrollController.position.pixels * 2) >
      (_scrollController.position.maxScrollExtent)) {
    x++;
    print(x);
  }

但是,生成無限循環似乎是傻瓜的想法!

我的作品最初的概念是從這里來的! 還有一些原因,我只想使用滾動 controller,而不是 NotificationListener!

你可以試試這個邏輯:

final _scrollController = ScrollController();
bool _loaded = false;
  
@override
void initState() {
  super.initState();
  _scrollController.addListener(() {
    if (!_loaded && _scrollController.offset > _scrollController.position.maxScrollExtent / 2) {
      _loaded = true;

      // Load your stuff here. Once done, you can again set _loaded to false
    }
  });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM