我和ModalBottomSheet一起作業,我喜歡這個包。但是,我在嘗試在 ModalBottomSheet 中導航時遇到了問題。
這是一個ScreenVideo以便更好地理解。
如您所見,視圖顯示為 ModalBottomSheet。但是當彈出它時,它不是簡單地解散到底部,而是彈出到一些帶有 MaterialPage Pop 影片的空螢屏。
我更改了代碼,以便可以在該 ModalBottomSheet 中使用 MaterialPageRoute-Animation 進行推送。在此之前,一切都按預期進行。
這是我的頁面:
class _AboutScreenState extends State<AboutScreen> {
@override
Widget build(BuildContext context) {
return Material(
color: AppColors.primary,
child: Navigator(
onGenerateRoute: (settings) => MaterialPageRoute(
builder: (context2) => Builder(
builder: (context) => CupertinoPageScaffold(
backgroundColor: AppColors.secondary,
resizeToAvoidBottomInset: false,
child: SafeArea(
child: Padding(
padding: EdgeInsets.all(sidePadding),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.end,
children: [
IconButtonWithExpandedTouchTarget(
onTapped: () {
Navigator.pop(context);
},
svgPath: 'assets/icons/down.svg',
),
],
),
Text(
'About',
style: AppTextStyles.montserratH2SemiBold,
),
...
RoundedCornersTextButton(
title: 'Impressum',
onTap: () {
Navigator.pop(context);
},
textColor: AppColors.primary,
backgroundColor: AppColors.secondary,
borderColor: AppColors.primary,
),
],
),
),
)),
),
),
),
);
}
}
我只是按照這個例子。我在這里錯過了什么?使用上面的代碼,我可以使用 MaterialPageRoute 影片按預期推入 ModalSheet,但彈出第一個螢屏會出現問題......
如果您需要更多資訊,請告訴我!任何幫助表示贊賞:)
uj5u.com熱心網友回復:
我認為你彈出錯誤的背景關系。該示例使用 彈出rootContext,它來自層次結構中最頂層的小部件。您從 with 彈出context,在層次結構中的最低構建器中定義。
uj5u.com熱心網友回復:
我相信您使用的背景關系不正確。rootContext 來自層次結構中最頂層的小部件,它使示例流行起來。您從層次結構中最低的構建器中彈出,這是由背景關系決定的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/382771.html
標籤:扑 镖 航海家 flutter-showmodalbottomsheet 材料页面路由
