针对特定页面的MaterialApp Builder定制

时间:2018-11-18 14:50:37

标签: flutter

我有以下Fluttter主要方法来根据用户登录状态显示不同的屏幕。

main() {
  runApp(
    MaterialApp(
      home: MyApp(),
      builder: (BuildContext context, Widget widget) {
        double paddingBottom = 50.0;
        double paddingRight = 0.0;

        return Scaffold(
          body: Padding(
            child: widget,
            padding:
                new EdgeInsets.only(bottom: paddingBottom, right: paddingRight),
          ),
        );
      },
    ),
  );
}

该脚手架已经添加了填充以显示AdMob广告,并且可以在所有页面上正常工作。

但是我不希望广告显示在登录页面上,并且应该是全屏显示,没有任何填充。

如何修改MaterialApp的builder方法以实现这一目标?

1 个答案:

答案 0 :(得分:0)

如果您使用的是FirebaseAuth,则在主要功能中检查用户是否通过功能await FirebaseAuth.instance.currentUser()登录,然后将用户状态传递给您的应用程序类。如果用户不是null,则不展示广告。

注意:我告诉我们在main函数中执行此操作,因为它可以转到async