b4s*_*sti 1 flutter flutter-layout
我目前正在开发一个在 CustomScrollView 中包含 Flutter Stepper 的屏幕。有一个 SliverAppBar 和 Stepper 包装在 SliverToBoxAdapter 和 Padding 中。不幸的是,步进器上方有一个空白区域,似乎不属于 Padding 或 Box Adapter。如果我将步进器添加到普通支架中,则该空间不可见。请参阅随附的屏幕截图。有谁知道如何解决这个问题?提前致谢!
这是代码:
@override
Widget build(BuildContext context) {
return Scaffold(
body: CustomScrollView(
slivers: [
SliverAppBar(
pinned: true,
snap: false,
floating: false,
automaticallyImplyLeading: false,
expandedHeight: 250,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.only(bottomLeft: Radius.circular(20), bottomRight: Radius.circular(20))),
flexibleSpace: FlexibleSpaceBar(...),
),
SliverPadding(
padding: const EdgeInsets.all(10),
sliver: SliverToBoxAdapter(
child: Stepper(...),
),
)
],
),
);
}
Run Code Online (Sandbox Code Playgroud)
这是一些屏幕截图:
我在另一个线程中读到了这一点,只是使用 ListView 而不是 Stepper。解决方案是用 MediaQuery.removePadding(...) 包装 Stepper 并将removeTop 属性设置为 true。
SliverPadding(
padding: const EdgeInsets.all(10),
sliver: SliverToBoxAdapter(
child: MediaQuery.removePadding(
context: context,
removeTop: true,
child: Stepper(...)
)
)
)
Run Code Online (Sandbox Code Playgroud)