我可以在应用程序启动时显示模态底部 sheet 吗?
Can i show modal bottom sheet at app launch flutter?
我试图在应用程序启动时自动显示 bottom sheeet
,但出现错误。当我用点击事件实例化它时,它只对我有用。但是我怎样才能在屏幕启动时弹出它呢?
@override
Widget build(BuildContext context) {
showModalBottomSheet(context: context, builder: (BuildContext context) {
return Container();
});
您可以在第一个屏幕的 initState 中这样做,就像这样
@override
void initState() {
// TODO: implement initState
Future.delayed(Duration(seconds: 0)).then((_) {
showModalBottomSheet(
context: context,
builder: (builder) {
return Container();
});
});
super.initState();
}
你需要这样做,使用 future 和 delayed 因为 initState dosent 允许 .of 在里面,这有点 hack 但它有效
简单的解决方案
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async {
showModalBottomSheet(context: context, builder: (BuildContext context) {
return Container();
});
});
}
我试图在应用程序启动时自动显示 bottom sheeet
,但出现错误。当我用点击事件实例化它时,它只对我有用。但是我怎样才能在屏幕启动时弹出它呢?
@override
Widget build(BuildContext context) {
showModalBottomSheet(context: context, builder: (BuildContext context) {
return Container();
});
您可以在第一个屏幕的 initState 中这样做,就像这样
@override
void initState() {
// TODO: implement initState
Future.delayed(Duration(seconds: 0)).then((_) {
showModalBottomSheet(
context: context,
builder: (builder) {
return Container();
});
});
super.initState();
}
你需要这样做,使用 future 和 delayed 因为 initState dosent 允许 .of 在里面,这有点 hack 但它有效
简单的解决方案
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async {
showModalBottomSheet(context: context, builder: (BuildContext context) {
return Container();
});
});
}