我正在尝试检测我打开的当前屏幕是否可以滚动。我读过一些关于在滚动控制器上使用maxScrollExtent
的线程,但在尝试打印hasClient
的值时出现了与"未附加scrollController"相关的错误。我认为这与isScrollable
的值始终为假有关。
ScrollController未附加到任何滚动视图。
下面是我的代码:
static ScrollController detailCollabScrollController = ScrollController();
void initState() {
WidgetsBinding.instance.addPostFrameCallback((_) {
setState(() {
DevMode.log('attached ? ${MainDetailCollabTicketPage.detailCollabScrollController.hasClients}');
if(MainDetailCollabTicketPage.detailCollabScrollController.position.maxScrollExtent > 0) {
isScrollable = true;
}
});
});
super.initState();
}
Widget build(BuildContext context) {
DevMode.log('isScrollable ? $isScrollable');
return Scaffold(
/// BODY
body: NotificationListener<OverscrollIndicatorNotification>(
onNotification: (overScroll) {
overScroll.disallowIndicator();
return true;
},
child: SingleChildScrollView(
controller: MainDetailCollabTicketPage.detailCollabScrollController,
child: ///Some code for the item,
),
),
)
}
1条答案
按热度按时间wsewodh21#
您可以通过向
ScrollController
添加侦听器来实现这一点。