在ListView中打开后,Flutter插件Chewie全屏无法关闭

时间:2020-02-08 23:54:56

标签: flutter flutter-dependencies

当我有3个以上的视频显示第4个以上视频时,有时只有第3个视频始终显示以下行为。这也仅发生在Android而不是iOS上。 当您单击全屏时,它将翻转为全屏,但是当您关闭全屏时,将触发对Chewie中的全屏切换的调用,但永远不会调用弹出全屏视图的侦听器。我相信这是因为ListView构建器会重建列表?我该怎么做才能使视频全屏关闭。

我正在设备上进行测试。这是应用程序的唯一页面。仅调用一次SetState即可加载初始数据。如果重要,VideoPlayController的来源是网络。

这是在ListView中加载Chewie小部件的小部件

@override
  Widget build(BuildContext context) {
  return Scaffold(
    body: ListView.builder(
      itemCount: reviews.length,
        controller: _scrollController,
        itemBuilder: (context, i) {
          return Chewie(
            controller: reviews[i].chewieController,
          );
        };
      ),
    );
  }

ChewieController是这样创建的

ChewieController buildController(
      VideoPlayerController controller, String placeholder) {
    return ChewieController(
      deviceOrientationsAfterFullScreen: [
        DeviceOrientation.portraitUp,
        DeviceOrientation.portraitDown
      ],
      videoPlayerController: controller,
      looping: false,
      aspectRatio: 1.7,
      autoPlay: false,
      allowMuting: false,
      showControlsOnInitialize: false,
      autoInitialize: true,
    );
  }

0 个答案:

没有答案