How to disable multi-touch in mobile application using flutter

后端 未结 3 1098
没有蜡笔的小新
没有蜡笔的小新 2020-12-06 18:41

This question is purely based on GestureDetector flutter.

For Example: In Application, GestureDetector class is implemented so here by-defa

3条回答
  •  攒了一身酷
    2020-12-06 19:03

    Issue fixed by using ImmediateMultiDragGestureRecognizer() the below code shows how we can use it.

    child: RawGestureDetector(
                  behavior: HitTestBehavior.opaque,
                  gestures: {
                    ImmediateMultiDragGestureRecognizer:
                        GestureRecognizerFactoryWithHandlers<
                            ImmediateMultiDragGestureRecognizer>(
                      () => ImmediateMultiDragGestureRecognizer(),
                      (ImmediateMultiDragGestureRecognizer instance) {
                        instance..onStart = _handleOnStart;
                      },
                    ),
                  },
        Drag _handleOnStart(Offset position) {
       if (count < 1) {
         setState(() {
           count++;
         });
         return _DragHandler(_handleDragUpdate, _handleDragEnd);
    }
    return null;
      }
    
      void _handleDragUpdate(DragUpdateDetails update) {
        //code is here
      }
    
      void _handleDragEnd(DragEndDetails details) {
        //code is here
       }
       setState(() {
        count = 0;
       });
       }
    
    
       class _DragHandler extends Drag {
      _DragHandler(this.onUpdate, this.onEnd);
    
      final GestureDragUpdateCallback onUpdate;
      final GestureDragEndCallback onEnd;
    
      @override
      void update(DragUpdateDetails details) {
       onUpdate(details);
      }
    
      @override
      void end(DragEndDetails details) {
        onEnd(details);
    }
    @override
    void cancel(){}
    }
    

提交回复
热议问题