I have a view that consists of a Scaffold and a single ListView in its body, each children of the list is a different widget that represents variou
https://pub.dev/packages/visibility_detector provides this functionality with its VisibilityDetector widget that can wrap any other Widget and notify when the visible area of the widget changed:
VisibilityDetector(
key: Key("unique key"),
onVisibilityChanged: (VisibilityInfo info) {
debugPrint("${info.visibleFraction} of my widget is visible");
},
child: MyWidgetToTrack());
)