2

我有一个包含视频的 SliverPersistentHeader。这个视图的期望行为是当用户向上滚动时,视图应该覆盖或最小化视频的大小。视频标题是一个包含 Chewie 视频播放器的小部件。所需的行为在我得到像素溢出的某个点上起作用,如此动画所示:

在此处输入图像描述

当滚动到某个点时,视频无法再调整大小,并导致渲染溢出。所需的行为是让视频继续调整大小直到消失,或者捕捉错误并从视图中隐藏或删除视频。呈现此滚动视图的代码是:

  Widget buildScollView(GenericScreenModel model) {
    return CustomScrollView(
      slivers: [
        StandardHeader(),
        SliverFillRemaining(
          child: Container(
            // color: Colors.transparent,
              decoration: BoxDecoration(
                  border: Border.all(
                    color: Colors.white,
                  ),
                  borderRadius: BorderRadius.only(topRight: radius, topLeft: radius)),
              child: Padding(
                padding: const EdgeInsets.all(20.0),
                child: Text(model.model?.getContentText ?? 'Empty'),
              )),
        )
      ],
    );
  }

StandardHeader 类是一个包含 Chewie 视频的简单小部件。

class _StandardHeaderState extends State<StandardHeader> {
  @override
  Widget build(BuildContext context) {
    return SliverPersistentHeader(
      floating: true,
      delegate: Delegate(
        Colors.blue,
        'Header Title',
      ),
      pinned: true,
    );
  }
}

有没有办法捕捉这个错误并隐藏视频播放器?任何人都可以提供帮助或将我指向资源吗?谢谢!

4

0 回答 0