flutter常用的事件拦截组件
- InkWell
- GestureDetector
- RaisedButton、FlatButton、 IconButton、OutlineButton等
如下图是stack布局,B区域在A区域上面
正常点击B区域会打印B,点击A区域打印A,这时如果需要点击B区域需要A区域拦截事件,需要怎么办呢?
使用IgnorePointer忽略B区域的拦截事件即可:
Widget _testview() {
return Stack(
children: [
InkWell(
onTap: () {
print("点击A");
},
child: Container(
width: 200,
height: 200,
color: Colors.amber,
alignment: Alignment.center,
child: const Text('A'),
),
),
IgnorePointer(
ignoring: true,
child: InkWell(
onTap: () {
print("点击B");
},
child: Container(
width: 100,
height: 60,
color: Colors.red,
alignment: Alignment.center,
child: const Text('B'),
)),
),
],
);
}