Например, я создаю пользовательский виджет, который выглядит следующим образом.
Stack(
children: <Widget>[
GestureDetector(
child: Container(
color: Colors.amber,
width: 100,
height: 100
),
onTap: () {
print('clicked');
},
),
Container(
color: Colors.green,
width: 50,
height: 50,
),
],
),
, который выглядит следующим образом:
В этом виджете я добавил функцию касания к контейнеру янтарного цвета. Но если пользователь нажмет на зеленую область, фоновый контейнер не получит никаких прикосновений. Потому что это прикосновение будет поглощено зеленым контейнером. Для меня зеленый был своего рода элементом дизайна, и я не хочу, чтобы он блокировал прикосновения. Так что в этом случае я могу обернуть зеленый с помощью IgnorePointer , и он больше не будет перехватывать мои прикосновения.
IgnorePointer(
child: Container(
color: Colors.green,
width: 50,
height: 50,
),
ignoring: true,
),