很抱歉,如果标题有点令人困惑,基本上我有一个方法叫flutter showModalBottomSheet,现在在此模态中有一个按钮应该用来打开另一个modalBottomSheet,我的问题是,当在模态中按下按钮,将整个模态替换为新模态,并且不与新模态重叠,希望这是有意义的。这是我的一些代码。
void _modalBottomSheetCustom(context)
{
showModalBottomSheet(
context: context,
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10.0)),
isScrollControlled: true,
backgroundColor: Color(0xFF8185E2),
builder: (context) {
return Container(
height: MediaQuery.of(context).size.height*0.9,
child: Column(children: <Widget>[
new Align(
alignment: Alignment(-0.8,-0.8),
child:
GestureDetector(
onTap: () => Navigator.of(context).pop(), // closing showModalBottomSheet
child: Icon(
Icons.arrow_back_ios,
color: Colors.white,
),)
),
new Container(
width: 300,
height: 10,
child: CustomPaint(
painter: ModalPainter(),
),
),
new Text("Date:", style: Theme.TextStyles.generalText),
new Text("When do you want this service", style: Theme.TextStyles.generalText),
new Text("We allow bookings up to 30 days in advance", style: Theme.TextStyles.generalText),
new ChecklistWidget(),
new Expanded(
child:Align(
alignment: Alignment(0.9,0.8),
child:RaisedButton(
onPressed: () => _modalBottomSheetCustom2(context),
color: Colors.deepPurple,
child: const Text('Next', style: TextStyle(fontSize: 20)), textColor: Colors.white,))),
],),
);
});
}
_ modalButtonSheetCustom2与_modalButtonSheetCustom基本具有相同的功能。
希望我的问题对外面的人有意义。
没关系,我只是通过将Navigator.of(context).pop()放在第二个模态的代码之前就没想到了,这似乎很好用。