这个问题可能是由于Stack的默认行为导致的。当设置clipBehavior为Clip.none时,Stack允许子组件超出其边界,这可能会导致MouseRegion无法正确地捕获鼠标事件。

为了解决这个问题,您可以尝试将Stack的overflow属性设置为Overflow.visible,这将允许子组件超出Stack的边界,并使MouseRegion能够捕获鼠标事件。以下是一个示例代码:

Stack(
  overflow: Overflow.visible,
  clipBehavior: Clip.none,
  children: [
    // 子组件
    MouseRegion(
      onHover: (event) {
        // 处理鼠标悬停事件
      },
      child: ...
    ),
    ...
  ],
)

请注意,如果您使用的是Flutter的旧版本(低于1.17.0),则可能会遇到这个问题。在这种情况下,您可以尝试升级到最新的Flutter版本,以获取更好的支持和解决已知的问题。


原文地址: https://www.cveoy.top/t/topic/bft0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录