最开始没有看flutter的事件分发懵逼了很多天,才想起来flutter应该有事件分发机制。
如果你在自定义view的时候拦截不到点击事件,那在你的RenderBox或者RenderObject里面加一条这个代码。
@override
bool hitTest(HitTestResult result, {ui.Offset position}) {
if(size.contains(position)) {
result.add(BoxHitTestEntry(this, position));
return true;
}
return false;
}