Flutter GestureDetector behavior处理事件

5 min read

Flutter GestureDetector behavior处理事件的方式有以下三种:

HitTestBehavior.opaque、 HitTestBehavior.deferToChild HitTestBehavior.translucentHitTestBehavior.opaque: 自己处理事件

HitTestBehavior.deferToChild: child处理事件

HitTestBehavior.translucent: 自己和child都可以接收事件

/// How to behave during hit tests.
enum HitTestBehavior {
  /// Targets that defer to their children receive events within their bounds
  /// only if one of their children is hit by the hit test.
  deferToChild,

  /// Opaque targets can be hit by hit tests, causing them to both receive
  /// events within their bounds and prevent targets visually behind them from
  /// also receiving events.
  opaque,

  /// Translucent targets both receive events within their bounds and permit
  /// targets visually behind them to also receive events.
  translucent,
}