onScroll method
Implementation
bool onScroll(ScrollNotification notification) {
if ((notification.metrics.axisDirection == AxisDirection.left) ||
(notification.metrics.axisDirection == AxisDirection.right)) {
return false;
}
double maxHeight = widget.model.header?.height ??
widget.model.header?.constraints.maxHeight ??
0;
if (maxHeight.isNegative) maxHeight = 0;
double minHeight = widget.model.header?.height ??
widget.model.header?.constraints.minHeight ??
0;
if (minHeight.isNegative) minHeight = 0;
// Non-Resizeable Header
if (minHeight == maxHeight) return true;
double height;
double scrolled = notification.metrics.pixels;
scrolled = scrolled > maxHeight ? maxHeight : scrolled;
height = maxHeight - scrolled;
if (height < minHeight) height = minHeight;
var viewportHeight = widget.model.system.maxHeight!;
widget.model.header?.height = height;
widget.model.height = viewportHeight -
height -
(widget.model.footer?.constraints.height ?? 0) -
safeAreaHeight.ceil();
/* Stop Notification Bubble */
return false;
}