返回 MaterialApp 生成器属性中的多个小部件



我正在使用responsive_framework和bot_toast,要初始化它们,我需要使用MaterialApp中的builder属性。

responsive_framework

builder: (context, widget) {
return ResponsiveWrapper.builder(
BouncingScrollWrapper.builder(context, widget),
maxWidth: 1200,
minWidth: 450,
defaultScale: true,
breakpoints: [
ResponsiveBreakpoint.autoScale(480, name: MOBILE),
ResponsiveBreakpoint.autoScale(800, name: TABLET),
ResponsiveBreakpoint.autoScale(1000, name: DESKTOP),
],
background: Container(
color: Color(0xFFF5F5F5),
),
);
},

bot_toast

MaterialApp(
title: 'BotToast Demo',
builder: BotToastInit(), //1. call BotToastInit
navigatorObservers: [BotToastNavigatorObserver()], //2. registered route observer
home: XxxxPage(),

(

我在这里的问题是,即使这两个包都使用 builder 属性,我该如何配置它们?

我找到了解决方案

@override
Widget build(BuildContext context) {
final botToastBuilder = BotToastInit();
return MaterialApp(    
builder: (context, child) {
child = ResponsiveWrapper.builder(
BouncingScrollWrapper.builder(context, child),
maxWidth: 1200,
minWidth: 450,
defaultScale: true,
breakpoints: [
ResponsiveBreakpoint.autoScale(480, name: MOBILE),
ResponsiveBreakpoint.autoScale(800, name: TABLET),
ResponsiveBreakpoint.autoScale(1000, name: DESKTOP),
],
background: Container(
color: Color(0xFFF5F5F5),
),
);
child = botToastBuilder(context, child);
return child;
},
navigatorObservers: [BotToastNavigatorObserver()],

);
}

感谢 https://github.com/MMMzq/bot_toast/issues/55

最新更新