onVisibilityChanged method
void
onVisibilityChanged(
- VisibilityInfo info
Implementation
void onVisibilityChanged(VisibilityInfo info) {
if (oldVisibility == (info.visibleFraction * 100)) return;
visibleHeight = info.size.height > 0
? ((info.visibleBounds.height / info.size.height) * 100)
: 0.0;
visibleWidth = info.size.width > 0
? ((info.visibleBounds.width / info.size.width) * 100)
: 0.0;
visibleArea = info.visibleFraction * 100;
oldVisibility = visibleArea ?? 0.0;
if (visibleArea! > 1 && !hasGoneOnscreen) {
if (!isNullOrEmpty(_onscreen)) EventHandler(this).execute(_onscreen);
hasGoneOnscreen = true;
} else if (visibleArea! == 0 && hasGoneOnscreen) {
if (!isNullOrEmpty(_offscreen)) EventHandler(this).execute(_offscreen);
hasGoneOnscreen = false;
}
}