Clamp AppBar scroll notifications when ClampOverscrolls is true (#4152)
This commit is contained in:
parent
3b3db78f8a
commit
ff1d3b8190
@ -547,11 +547,17 @@ class ScaffoldState extends State<Scaffold> {
|
||||
final ScrollableState scrollable = notification.scrollable;
|
||||
if ((scrollable.config.scrollDirection == Axis.vertical) &&
|
||||
(config.scrollableKey == null || config.scrollableKey == scrollable.config.key)) {
|
||||
final double newScrollOffset = scrollable.scrollOffset;
|
||||
setState(() {
|
||||
_scrollOffsetDelta = _scrollOffset - newScrollOffset;
|
||||
_scrollOffset = newScrollOffset;
|
||||
});
|
||||
double newScrollOffset = scrollable.scrollOffset;
|
||||
if (ClampOverscrolls.of(scrollable.context)) {
|
||||
ExtentScrollBehavior limits = scrollable.scrollBehavior;
|
||||
newScrollOffset = newScrollOffset.clamp(limits.minScrollOffset, limits.maxScrollOffset);
|
||||
}
|
||||
if (_scrollOffset != newScrollOffset) {
|
||||
setState(() {
|
||||
_scrollOffsetDelta = _scrollOffset - newScrollOffset;
|
||||
_scrollOffset = newScrollOffset;
|
||||
});
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user