From ba4987cc4e61e44c78cf6d04878857258a9eedbf Mon Sep 17 00:00:00 2001 From: Felix Dietze Date: Fri, 18 Jun 2021 19:03:01 +0200 Subject: [PATCH] Fix initial rendering of inactive trackbar `_inactiveTrack()` calculates `top` and `left` from `_handlersPadding`. But `_handlersPadding` is calculated in `_arrangeHandlersPosition()` after the inactive track is initially drawn. `_arrangeHandlersPosition()` uses `_contraintMaxWidth` and `_constraintMaxHeight`. This commit calculates it early enough when the required values are ready. --- lib/flutter_xlider.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/flutter_xlider.dart b/lib/flutter_xlider.dart index 29244f7..b815e4a 100644 --- a/lib/flutter_xlider.dart +++ b/lib/flutter_xlider.dart @@ -260,6 +260,8 @@ class _FlutterSliderState extends State builder: (BuildContext context, BoxConstraints constraints) { _constraintMaxWidth = constraints.maxWidth; _constraintMaxHeight = constraints.maxHeight; + _arrangeHandlersPosition(); + _containerWidthWithoutPadding = _constraintMaxWidth - _handlersWidth!; _containerHeightWithoutPadding = @@ -442,8 +444,6 @@ class _FlutterSliderState extends State WidgetsBinding.instance!.addPostFrameCallback((_) { _renderBoxInitialization(); - _arrangeHandlersPosition(); - _drawHatchMark(); setState(() {});