我开发了一个flutter web应用程序,它将google map widget作为Scaffold主体的一部分。我使用flutter_speed_dial作为浮动操作按钮。当我点击SpeedDial时,它会在整个屏幕上显示一个覆盖层,但Map仍然可以点击。
我知道这是因为谷歌Map在网络上使用HtmlElementView,我们有一个pointer_interceptor包,以防止触发Map时,点击上面的按钮。但如何覆盖?没有地方 Package 快速拨号覆盖指针拦截器。
下面是我的示例代码:
Scaffold(
...
body: Column(
children: [
...
SizedBox(
height: 230,
child: GoogleMap(...)),
...
]
),
floatingActionButton: PointerInterceptor(
child: SpeedDial(
...
childPadding: const EdgeInsets.all(5),
spaceBetweenChildren: 1,
isOpenOnStart: false,
children: [
SpeedDialChild(
onTap: () {
...
},
labelWidget: PointerInterceptor(
child: Card(
...
),
),
),
],
),
),
)
1条答案
按热度按时间dba5bblo1#
我相信您可以使用
IgnorePointer
解决您的问题。使用IgnorePointer Package 小部件并将其设置为true。
你可以在这里看一下文档:https://api.flutter.dev/flutter/widgets/IgnorePointer-class.html