我正在尝试为应用程序创建一个事件页面,用户可以在其中查看具有横幅图像和其他一些有用信息的事件。我真的很喜欢用横幅实现 SliverAppBar 的想法,这样用户可以滚动查看更多信息。为此,我似乎需要一个带有 SliverAppBar 和 FlexibleSpaceBar 的 CustomScrollView。
我在网上看到的所有教程都假设屏幕的其余部分应该是一个列表,但我更想要一个类似 Column 小部件的东西。但是,Column 具有无限的高度,这会导致 CustomScrollView 中的溢出错误。我可以将它包装在一个具有指定高度的容器中,但是主体的内容是可变大小的,所以这并不理想。有没有办法让 SliverAppBar 和 Column 并排工作?
我想要一些类似的东西:
class ActivityPage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(slivers: [
SliverAppBar(
flexibleSpace: FlexibleSpaceBar(
background: Image(someImage),
),
expandedHeight: Image,
floating: false,
pinned: true,
snap: false,
),
Column(
children: [
someChildren,
]
),
)
]),
),
);
}
这应该是可能的,因为在我看来这是一种常见的模式,但我环顾四周,只能找到正文由列表组成的示例......