From fd31bfad9f360ef415a0118c647e8fcf0097116c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=E6=99=A8=E6=99=96?= Date: Tue, 18 Dec 2018 00:32:11 +0800 Subject: [PATCH] correct offset when scrollController with initialScrollOffset --- lib/draggable_scrollbar.dart | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/draggable_scrollbar.dart b/lib/draggable_scrollbar.dart index 9573486..dd3526c 100755 --- a/lib/draggable_scrollbar.dart +++ b/lib/draggable_scrollbar.dart @@ -346,6 +346,16 @@ class _DraggableScrollbarState extends State parent: _labelAnimationController, curve: Curves.fastOutSlowIn, ); + + WidgetsBinding.instance.addPostFrameCallback((_) => + _initOffsetForScrollInitialOffset()); + } + + /// init offset when widgets finish loading + void _initOffsetForScrollInitialOffset() { + _viewOffset = widget.controller.initialScrollOffset; + _barOffset = _viewOffset / viewMaxScrollExtent * barMaxScrollExtent; + setState(() {}); } @override