Comments (1)
After diving deep to flutter gesture detection algorythms i found out that
-
the DragGestureDetectionRecognizer (vertical or horizontal) is added to ScrollableState if and if it has canDrag property set to true.
-
the ListView default physics is AlwaysScrollableScrollPhysics - obviously its property canDrag is always true.
-
when ListView has controller property set to ScrollController, its physics changes to ClampingScrollPhysics
-
ClampingScrollPhysics calculates canDrag property based on vieport size and ListView size. When there is not enough lists elements to overflow, canDrag is set to false and no gesture detection recognizer added to our ListView. ListView does not take part in drag gesture recognition and that is why CustomRefreshIndicator will never be notified.
So to work around the situation mentioned above, one can set physics of ListView to physics: AlwaysScrollableScrollPhysics(parent: ClampingScrollPhysics()),.
from flutter-custom-refresh-indicator.
Related Issues (20)
- NestedScrollView + TabView + ListView bug. HOT 1
- app build fails with version >=1.0.0 - The method 'disallowIndicator' isn't defined for the class 'OverscrollIndicatorNotification' HOT 1
- How to create a simple CupertinoActivityIndicator based loader HOT 1
- Indicator always spinning HOT 3
- Refresh not showing when list has few items. HOT 2
- controller.value is always 0.0 HOT 1
- minimum duration setting HOT 1
- how can i support ListView reverse to load More data. look like IM app? HOT 1
- Is it possible to trigger refresh programmatically? HOT 1
- Rename 'builder' Property to 'indicatorBuilder' for Clarity HOT 1
- Animate the indicator during pull HOT 1
- TabBar Put in TabBarView children: Not displayed! HOT 1
- Untestable HOT 3
- isnt offsetToArmed bugged? it seems to me that the controller.value is only 1 when i scrolled 100% past the offsetToArmed height HOT 2
- Question about the cancelling state - indicator container immediately closes on cancel HOT 4
- CircularProgressIndicator with transparent background HOT 2
- Bug when change scroll direction HOT 1
- IndicatorState may need an 'error' state.
- The listView is not displayed HOT 1
- How can I move the children list down along with the RefreshIndicator?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flutter-custom-refresh-indicator.