set controller to the child(ScrollView) attribute
First of all, scrollController is a pre-existing api. When it was changed later, it was found that scrollController had a share problem, so it was abandoned and was not intended to be deleted. Maybe some people quote it, deleting it will cause some people having problems. The main reason for exposing these two things is that in some cases, addListener is not needed, but only needed. Control the jump. For example, when I implement a chat list, I just need to control ScrollView to scroll to the bottom, but I don't need to monitor its location.
If you have this error message, it's usually because there's no limit on the height of the child. For example, PageView, you can't put it in the child directly. You need to give PageView a limit on the height.
In RefreshConfiguration, there is an attribute hideFooterWhenNotFull, which in most cases can help you calculate and determine whether or not to hide.
Now this question has been solved ,check out this plugin,can help you controll gif progress,and example is here
This question suggests that you look up the API in flutter, and you need to understand a certain amount of physics and mathematics. Actually, I don't know how to calculate it.
RefreshConfiguration have a contribute maxUnderScrollExtent,0.0 indicate no rebound
RefreshConfigurationhave a contribute footerTriggerDistance,you can use MediaContent or LayoutBuilder compute screen height
the one,You give ScrollController to the child, so it's not PrimaryScrollController in Scaffold, so it doesn't jump. The second possibility is that your external Scaffold is not your ancestry Scaffold.
Because I use CustomScrollView internally, and CustomScrollView doesn't inject padding like BoxScrollView does, so you need to inject padding or SafeArea yourself.
1.3.0 replaces a new method to implement the indicator. The internal indicator is implemented by monitoring scroll Controller position changes. There are no methods such as NotificationListener and GestureDector that may cause sliding gesture conflicts. So it should be compatible with most of the libraries that need to be used between gestures. However, some libraries may not be compatible and ScrollPhysics needs to be rewritten, which is clearly required for internal FrontStyle.
RefreshConfiguration's shouldFooterFollowWhenNotFull can solve
Because SingleChildView uses SingleChild as its internal Viewport, while other Viewports are basically MultipleChild, so I can't get sliver from its Viewport internally. You can't add header and footer. just put it into SmartRefresher's child instead.
- Why can't dragging to the maximum distance trigger refresh? Why load more without triggering? This kind of problem usually occurs on Android systems, mostly because maxOverScrollExtent and maxUnderScrollExtent limit the height of the maximum drag. You need to make sure that it is larger than triggerDistance because it's internal. Not automatically identifying and judging for you
15.Why performance become more and more slow with the large amount of data? this situation is mostly because the setting shrinkWrap=true and physic:NeverScrollPhysics,ScrollView must be as SmartRefresher's child。