Flutter 3.0 AndroidView一直全屏问题

突然发现Flutter使用百度地图时出现了一直全屏遮挡了AppBar问题,试了几个方法都没有效果。

但其实以前是没有这个问题的,如果说有不同可能就是升级了Flutter版本。

搜了下搜到了下面两个issue:

https://github.com/flutter/flutter/issues/103858

https://github.com/flutter/flutter/issues/103630

基本确定是升级版本问题。

把AndroidView替换为PlatformViewLink使用PlatformViewsService.initExpensiveAndroidView:

  Widget _initBody() {
    return PlatformViewLink(
      viewType: VIEW_TYPE,
      surfaceFactory: (context, controller) {
        return AndroidViewSurface(
          controller: controller as AndroidViewController,
          gestureRecognizers: const <Factory<OneSequenceGestureRecognizer>>{},
          hitTestBehavior: PlatformViewHitTestBehavior.opaque,
        );
      },
      onCreatePlatformView: (params) {
        return PlatformViewsService.initExpensiveAndroidView(
          id: params.id,
          viewType: VIEW_TYPE,
          layoutDirection: TextDirection.ltr,
          creationParams: widget.map,
          creationParamsCodec: const StandardMessageCodec(),
          onFocus: () {
            params.onFocusChanged(true);
          },
        )
          ..addOnPlatformViewCreatedListener(params.onPlatformViewCreated)
          ..create();
      },
    );
  }

评论列表,共 0 条评论

    暂无评论