我有一个包含视频的 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,
);
}
}
有没有办法捕捉这个错误并隐藏视频播放器?任何人都可以提供帮助或将我指向资源吗?谢谢!