Dev TtangKong
362b1de299
Reimplemented StretchingOverscrollIndicator with Simulation ported from Android 12. ( #173849 )
...
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>
2025-12-05 21:54:29 +00:00
..
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-08-04 22:32:22 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-12-02 22:53:24 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-12-03 02:05:40 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-27 14:23:09 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-10 20:44:36 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-12-05 21:54:29 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-08-04 22:32:22 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-08-04 22:32:22 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-04-29 20:58:29 +00:00
2025-04-29 20:58:29 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-07-07 17:58:32 +00:00
2025-08-04 22:32:22 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-08-04 22:32:22 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-08-15 22:40:14 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-08-27 22:17:05 +00:00
2025-07-07 17:58:32 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00
2025-11-26 01:10:39 +00:00