'How ListView scroll to bottom accurately?
It seems Controller.position.maxScrollExtent
is a predicted value since the bottom items haven't been rendered,Controller.jumpTo(Controller.position.maxScrollExtent))
can not work.
Solution 1:[1]
ScrollController _controller = ScrollController();
void jumpTo() {
SchedulerBinding.instance!.addPostFrameCallback((_) {
if (_controller.hasClients) {
_controller.animateTo(
_controller.position.maxScrollExtent,
duration: const Duration(milliseconds: 100),
curve: Curves.elasticInOut,
);
}
});
}
Assign this _controller to Listview controller
and call jumpTo()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | rasityilmaz |