Flutter 溢出后 MouseRegion 失效解决方案
Flutter 中,如果一个 widget 的尺寸超过了它所在的父 widget 的尺寸,就会发生溢出现象。在这种情况下,如果有一个带有事件监听的 widget,例如 MouseRegion,那么它的事件可能会无法触发。
解决这个问题的方法是使用 OverflowBox 来包裹溢出的 widget,并将 alignment 属性设置为 Alignment.topLeft。这样,溢出的部分就会向左上角对齐,不会遮挡其他组件。同时,由于 MouseRegion 可以触发溢出部分的事件的,所以它也会正常工作。
示例代码:
OverflowBox(
alignment: Alignment.topLeft,
child: SizedBox(
width: 200,
height: 300,
child: Container(
color: Colors.red,
child: MouseRegion(
onHover: (event) {
print('hover');
},
child: Text('Overflow Example'),
),
),
),
),
原文地址: https://www.cveoy.top/t/topic/mGG8 著作权归作者所有。请勿转载和采集!