return Scaffold(
body: CustomScrollView(
physics: const AlwaysScrollableScrollPhysics(
parent: BouncingScrollPhysics(),
),
controller: controller,
slivers: [
SliverToBoxAdapter(
child: Center(
child: Padding(
padding: const EdgeInsets.symmetric(vertical: 64),
child: Text(
'Title',
style: theme.textTheme.titleLarge?.copyWith(
fontWeight: FontWeight.bold,
color: theme.colorScheme.onPrimary,
),
),
),
),
),
SliverList.builder(
itemCount: tiles.length,
itemBuilder: (context, index) {
final text = tiles[index];
return Card(
margin: const EdgeInsets.symmetric(
horizontal: 24,
vertical: 8,
),
child: ListTile(
title: Text(
text,
style: theme.textTheme.bodyLarge,
),
),
);
},
),
],
),
);
字符串
这导致我的布局输出在我的手机上是这样的:
的数据
我想要的是一种方法,把一切都集中在如果所有适合屏幕,否则继续是。
的
是否可以使用Slivers
做类似的事情?我想要他们,因为我想的标题反弹和滚动的项目时,他们滚动。
1条答案
按热度按时间epfja78i1#
与ListView类似,CustomScrollView有一个shrinkWrap变量,当设置为true时,将尝试最小化滚动区域的高度。
脚手架的默认对齐方式是左上角,所以一旦你收缩滚动视图,你就需要添加中心部件作为它的父部件,以获得你想要的中心对齐方式。代码看起来像这样:
字符串