[英]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.