将 AdmobBanner 放在 Flutter 中列的底部

Place AdmobBanner at the bottom inside a Column in Flutter

我必须在我正在创建的应用程序中插入 AdMob 横幅。对于布局,我使用了一个内部有 Column 的 SingleChildScrollView。在后者中有各种小部件,每个小部件都由一个容器组成。 我想在页面底部放置一个使用 admob_flutter 插件创建的 AdmobBanner,但我没有成功。 感谢所有帮助我的人

class HomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text(APPNAME),
          actions: <Widget>[
            Padding(
              padding: EdgeInsets.only(right: 20.0),
              child: GestureDetector(
                onTap: () { Share.share(); },
                child: Icon(Icons.share, size: 26.0,),
              ),
            )
          ],
        ),
        body: SingleChildScrollView(
            child: Column(
              children: <Widget>[
                ...,
                Container( alignment: Alignment.bottomCenter,
                  child: AdmobBanner(adUnitId: "ca-app-pub-3940256099942544/6300978111", 
                          adSize: AdmobBannerSize.BANNER),
                ),
          ],
        )),
        drawer: new Elements().drawer(context),
      );
  }
}

尝试使用 Stack 小部件

它会让你的 adBanner 保持在底部,甚至将它带到键盘顶部 如果键盘打开

body 中显示的代码替换为下面显示的代码

Stack(
  children: <Widget>[
        Container(
            //padding used for adding space to the bottom of widget list
            padding: EdgeInsets.only(bottom: 50.0),
            child: _buildScrollableLayout()),
        Positioned(
            bottom: 0.0,
            left: 0.0,
            right: 0.0,
            child:  AdmobBanner(adUnitId: "ca-app-pub-3940256099942544/6300978111", 
                      adSize: AdmobBannerSize.BANNER),
        ),
  ],
),