在 Flutter 中按下鼠标时捕获鼠标移动

Capturing mouse movement while mouse pressed in Flutter

此代码在一个月前有效。 但是,我更新了新版本的 flutter。 如果你知道需要在哪个版本或者我如何在新版本中实现它。

import 'package:flutter/material.dart';    
void main() {
  runApp(
    MaterialApp(
      // theme: design.getThemeData(),
      home: TestWidget(),
      debugShowCheckedModeBanner: false,
    ),
  );
}

class TestWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(50.0),
      child: MouseRegion(
        onEnter: (ds) {
          print('Enterred:');
        },
        onExit: (ds) {
          print('Exit: ');
        },
        child: Container(
          color: Colors.red,
          width: MediaQuery.of(context).size.width,
          height: MediaQuery.of(context).size.height,
        ),
      ),
    );
  }
} 

Mouse Region 有助于捕获事件,例如鼠标进入、离开或悬停在感兴趣区域时。

但要捕获感兴趣区域内的鼠标位置和鼠标按下或释放(不包括鼠标进入和鼠标退出),您可以使用Listener

它分别为鼠标按下、释放和移动事件提供回调。您可以使用这些来实现您想要的。