我有一个包含视频的 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'),
)),
)
],
);
}
Run Code Online (Sandbox Code Playgroud)
StandardHeader 类是一个包含 Chewie 视频的简单小部件。
class _StandardHeaderState extends State<StandardHeader> {
@override
Widget build(BuildContext context) {
return SliverPersistentHeader(
floating: true,
delegate: Delegate(
Colors.blue,
'Header Title',
),
pinned: true,
);
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法捕获此错误并隐藏视频播放器?任何人都可以帮忙解决这个问题或向我指出资源吗?谢谢!