在BottomSheet中使用Navigator
时遇到问题。
使用导航器将底部工作表扩展到全屏,而删除它则根据内容调整其高度。
在我的例子中,导航器需要能够推到BottomSheet中稍后的视图。
所需的行为将是根据内容的动态高度,而不是全屏扩展。
代码示例:
await showModalBottomSheet<void>(
isDismissible: true,
useSafeArea: true,
isScrollControlled: true,
backgroundColor: Colors.transparent,
context: blocContext,
builder: (BuildContext context) {
return Navigator(
onGenerateRoute: (context) => MaterialPageRoute<ModalRoute>(
fullscreenDialog: false,
builder: (context) => Container(
color: Colors.white,
child: Stack(
fit: StackFit.loose,
children: [
CustomScrollView(
shrinkWrap: true,
slivers: [
SliverToBoxAdapter(
child: Container(
height: 50,
width: 50,
color: Colors.yellow,
),
),
SliverList.separated(
itemCount: 5,
itemBuilder: (context, index) {
return Container(
height: 30,
color: Colors.green,
);
},
separatorBuilder: (context, index) {
return gapH20;
},
),
],
)
],
),
),
),
);
},
);
1条答案
按热度按时间eiee3dmh1#
返回
Container
将覆盖整个空间。您可以使用另一个Align
小部件进行 Package 。更多关于layout/constraints
此外,如果您不需要导航器,您可以使用
BottomSheet
,DisplayFeatureSubScreen
,DraggableScrollableSheet
,