mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Fixed an issue #169659 This PR improves the StretchingOverscrollIndicator to better match native Android behavior. - Previously, the stretch effect worked well only for slow dragging, and during fast flings it was absent or felt clipped. - Implemented a Simulation-based animation that responds naturally to both slow drags and high-velocity flings. - The result closely resembles the native Android overscroll behavior while maintaining Flutter's performance characteristics. This change ensures that momentum-based gestures produce a more natural and intuitive overscroll experience, especially for users accustomed to native Android scroll views. ## Fling [fling](https://github.com/user-attachments/assets/3944eef3-baaa-47df-82ca-9c49d4283fe4) ## Pull And Reduce Also, a very similar animation is implemented when pulling as well. [pull](https://github.com/user-attachments/assets/2a3025dc-0996-403d-b58b-d07f25487cda) ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. --------- Co-authored-by: Tong Mu <dkwingsmt@users.noreply.github.com> Co-authored-by: Victor Sanni <victorsanniay@gmail.com>