Flutter - 如何在 material 应用程序中调用多个构建器项?
Flutter - how to call multiple builder items in material app?
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
builder: BotToastInit(), //1. call BotToastInit
navigatorObservers: [BotToastNavigatorObserver()],
debugShowCheckedModeBanner: false,
title: 'Pak Coins',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MySplashScreen(),
);
}
}
这是我的 MyApp Class 想要调用 2 builder
- BotToastInit(),
- EasyLoading.init()
我怎么称呼这两个?
建造者://这里,
builder
参数必须 return 一个小部件。如果你喜欢初始化或 return 两个小部件,你必须自己将它们嵌套在 builder
:
builder: (context, child) {
// do your initialization here
child = EasyLoading.init(); // assuming this is returning a widget
child = botToastBuilder(context,child);
return child;
}
如果您查看 bot_toast package 的入门指南,他们在第 3 步有一个示例。
更新: 或利用 BotToast 或 EasyLoading 提供的生成器方法,例如:
builder: EasyLoading.init(builder: BotToastInit()),
这是解决方案。
我要调用的构建项是:DevicePreview.appBuilder
、BotToastInit()
和 EasyLoading.init()
。
所以解决方法如下:
builder: (context, myWidget){
myWidget = DevicePreview.appBuilder(context, myWidget);
myWidget = BotToastInit()(context, myWidget);
myWidget = EasyLoading.init()(context,myWidget);
return myWidget;
},
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
builder: BotToastInit(), //1. call BotToastInit
navigatorObservers: [BotToastNavigatorObserver()],
debugShowCheckedModeBanner: false,
title: 'Pak Coins',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MySplashScreen(),
);
}
}
这是我的 MyApp Class 想要调用 2 builder
- BotToastInit(),
- EasyLoading.init() 我怎么称呼这两个? 建造者://这里,
builder
参数必须 return 一个小部件。如果你喜欢初始化或 return 两个小部件,你必须自己将它们嵌套在 builder
:
builder: (context, child) {
// do your initialization here
child = EasyLoading.init(); // assuming this is returning a widget
child = botToastBuilder(context,child);
return child;
}
如果您查看 bot_toast package 的入门指南,他们在第 3 步有一个示例。
更新: 或利用 BotToast 或 EasyLoading 提供的生成器方法,例如:
builder: EasyLoading.init(builder: BotToastInit()),
这是解决方案。
我要调用的构建项是:DevicePreview.appBuilder
、BotToastInit()
和 EasyLoading.init()
。
所以解决方法如下:
builder: (context, myWidget){
myWidget = DevicePreview.appBuilder(context, myWidget);
myWidget = BotToastInit()(context, myWidget);
myWidget = EasyLoading.init()(context,myWidget);
return myWidget;
},