如何在Bloc Provider中移除调试横幅?尝试嵌套组件方案未生效
移除Bloc Provider内调试横幅的解决方案
嘿,我来帮你搞定这个问题!其实你完全不用额外嵌套其他组件,问题的核心在于调试横幅是MaterialApp自带的UI属性,和BlocProvider本身没有关系。你只需要给MaterialApp添加debugShowCheckedModeBanner: false这个配置项,就能直接移除它。
看你当前的代码,只需要做一处小修改就行,调整后的代码如下:
void main() { Bloc.observer = MyBlocObserver(); runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return BlocProvider( create: (context) => AppCubit()..createDB(), // 给MaterialApp添加关闭调试横幅的参数 child: MaterialApp( debugShowCheckedModeBanner: false, home: HomeLayout() ) ); } }
为什么之前的包裹方法没生效?因为调试横幅是MaterialApp自带的调试标识,只有直接配置MaterialApp的相关属性才能控制它的显示/隐藏。BlocProvider只是状态管理的提供者,不会干涉MaterialApp的UI设置,所以直接在MaterialApp里关闭这个横幅就可以啦。
内容的提问来源于stack exchange,提问作者ingmbk
相关产品推荐
相关产品推荐

