Skip to content

Commit d415ee6

Browse files
authored
Merge pull request #22 from YasufumiMuranaka/master
fix: selectByTap doesn't work by actual Android devices
2 parents 5673833 + 0fa59dc commit d415ee6

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

lib/another_xlider.dart

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,9 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
342342
// Flag for whether trackBarSlideOnDragStarted() was called
343343
bool _trackBarSlideOnDragStartedCalled = false;
344344

345+
// Flags for selectByTap propery handring for Android actual devices
346+
bool isPointerDown = false;
347+
345348
@override
346349
void initState() {
347350
initMethod();
@@ -976,6 +979,8 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
976979

977980
if (selectedByTap) {
978981
_callbacks('onDragStarted', 0);
982+
} else if (!isPointerDown) {
983+
return;
979984
}
980985

981986
bool validMove = true;
@@ -1196,6 +1201,8 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
11961201

11971202
if (selectedByTap) {
11981203
_callbacks('onDragStarted', 1);
1204+
} else if (!isPointerDown) {
1205+
return;
11991206
}
12001207

12011208
bool validMove = true;
@@ -1487,7 +1494,7 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
14871494
},
14881495
onPointerDown: (_) {
14891496
if (widget.disabled || (widget.handler != null && widget.handler!.disabled)) return;
1490-
1497+
isPointerDown = true;
14911498
_renderBoxInitialization();
14921499

14931500
xDragTmp = (_.position.dx - _containerLeft - _leftHandlerXPosition!);
@@ -1510,7 +1517,7 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
15101517
_callbacks('onDragStarted', 0);
15111518
},
15121519
onPointerUp: (_) {
1513-
__dragging = false;
1520+
__dragging = isPointerDown = false;
15141521

15151522
_adjustLeftHandlerPosition();
15161523

@@ -1597,7 +1604,7 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
15971604
if (widget.disabled || (widget.rightHandler != null && widget.rightHandler!.disabled)) {
15981605
return;
15991606
}
1600-
1607+
isPointerDown = true;
16011608
_renderBoxInitialization();
16021609

16031610
xDragTmp = (_.position.dx - _containerLeft - _rightHandlerXPosition!);
@@ -1623,7 +1630,7 @@ class FlutterSliderState extends State<FlutterSlider> with TickerProviderStateMi
16231630
_callbacks('onDragStarted', 1);
16241631
},
16251632
onPointerUp: (_) {
1626-
__dragging = false;
1633+
__dragging = isPointerDown = false;
16271634

16281635
_adjustRightHandlerPosition();
16291636

0 commit comments

Comments
 (0)