在flutter网页中,可以在SpeedDial覆盖下点击GoogleMap

amrnrhlw  于 2023-01-27  发布在  Flutter
关注(0)|答案(1)|浏览(144)

我开发了一个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(
                    ...
                  ),
                ),
              ),
            ],
          ),
        ),
      )
dba5bblo

dba5bblo1#

我相信您可以使用IgnorePointer解决您的问题。
使用IgnorePointer Package 小部件并将其设置为true。

IgnorePointer(
              ignoring: true,
              child: Widget _test(),
            ),

你可以在这里看一下文档:https://api.flutter.dev/flutter/widgets/IgnorePointer-class.html

相关问题