Flutter плагин Chew ie полноэкранный не закрывается после открытия в ListView - PullRequest
0 голосов
/ 09 февраля 2020

Когда у меня есть более 3 видео для показа 4-го +, 3-е только иногда, всегда показывает следующее поведение. Это также происходит только на Android, а не iOS. Когда вы нажимаете полноэкранный режим, он переходит в полноэкранный режим, но когда вы go закрываете полноэкранный режим, происходит вызов toggleFullscreen в Chew ie, но слушатель, который выдает полноэкранный режим, никогда не вызывается. Я считаю, что это потому, что строитель ListView перестраивает список? Что можно сделать, чтобы разрешить закрытие видео в полноэкранном режиме.

Я тестирую на устройстве. Это единственная страница приложения. SetState вызывается только один раз для загрузки исходных данных. Если это имеет значение, источник VideoPlayController является сетевым.

Вот виджет, который загружает виджет Chew ie в ListView

@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,
    );
  }
...