import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; //子/父都响应点击 class MultiTapGestureRecognizer extends TapGestureRecognizer { @override void rejectGesture(int pointer) { // 让手势同时被多个识别器处理 acceptGesture(pointer); } } class MultiTap extends StatelessWidget { final Widget child; final VoidCallback? onTap; const MultiTap({super.key, required this.child, this.onTap}); @override Widget build(BuildContext context) { return RawGestureDetector( gestures: { MultiTapGestureRecognizer: GestureRecognizerFactoryWithHandlers( () => MultiTapGestureRecognizer(), (instance) { instance.onTap = () => onTap?.call(); }, ), }, child: child, ); } }