如何在颤动的屏幕底部放置一行

Posted

技术标签:

【中文标题】如何在颤动的屏幕底部放置一行【英文标题】:How To Place a Row at Bottom of the screen in flutter 【发布时间】:2020-11-07 18:01:06 【问题描述】:

我有 3 列我想使用这些列制作不可滚动的屏幕 前 2 列只有一个图像 最后一列有一行,其中有四个图标 我想将最后一列在屏幕底部有一个行图标,用于我想要相同的每种尺寸的屏幕 现在它的样子

     body: Center(
            child: Container(
              decoration: BoxDecoration(
                  gradient: LinearGradient(
                      begin: Alignment.topRight,
                      end: Alignment.bottomLeft,
                      colors: [barColor, Colors.white])),

              child: ListView(
                physics: const NeverScrollableScrollPhysics(),
                children: <Widget>[
                  Column(
                    crossAxisAlignment: CrossAxisAlignment.center,
                    mainAxisSize: MainAxisSize.max,
                    mainAxisAlignment: MainAxisAlignment.start,

                    children: <Widget>[
                      Image.asset(
                        'assets/images/istv.png',
                        fit: BoxFit.cover,
                      ),
                    ],
                  ),
                  InkWell(
                    child:  Column(
                      crossAxisAlignment: CrossAxisAlignment.center,
                      mainAxisSize: MainAxisSize.max,
                      mainAxisAlignment: MainAxisAlignment.center,
                     children: <Widget>[
                       Image.asset(
                         'assets/images/live.png',
                         fit: BoxFit.cover,

                       ),
                     ],
                    ),
                    onTap: ()
                      _launchInApp(_launchUrl);
                    ,
                  ),
                  Column(
                    children: <Widget>[
                      Align(
                        alignment: Alignment.bottomCenter,
                        child:  Row(
                          crossAxisAlignment: CrossAxisAlignment.end,
                          children: <Widget>[
                            Expanded(
                              child: InkWell(
                                child :Container(
                                  child: Image.asset(''
                                      'assets/images/fb.png',
                                    height: 200,
                                    fit: BoxFit.cover,
                                  ) ,
                                ),
                                onTap: ()
                                  openfb();
                                ,
                              ),
                            ),

                            Expanded(
                              child: InkWell(
                                child :Container(
                                  child: Image.asset(''
                                      'assets/images/insta.png',
                                    height: 200,
                                    fit: BoxFit.cover,
                                  ) ,
                                ),
                                onTap: ()
                                  openinsta();
                                ,
                              ),
                            ),
                            Expanded(
                              child: InkWell(
                                child :Container(
                                  child: Image.asset(''
                                      'assets/images/yt.png',
                                    height: 200,
                                    fit: BoxFit.cover,
                                  ) ,
                                ),
                                onTap: ()
                                  openyt();
                                ,
                              ),
                            ),

                            Expanded(
                              child: InkWell(
                                  child :Container(

                                    child: Image.asset(''
                                        'assets/images/share.png',

                                      height: 200,

                                      fit: BoxFit.cover,
                                    ) ,
                                  ),
                                  onTap: () Share.share('check out my website https://example.com');
                              ),
                            )
                          ],
                        ),
                      ),
                    ],
                  ),
                ],
              ),
            )
        )

【问题讨论】:

请尝试重新表述您的问题。你写的整段绝对没有标点符号。这让人很难理解。 【参考方案1】:

如果我理解了你的问题,这并不容易,我相信这就是你想要做的:

class UI62962286 extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    return Column(
      children: <Widget>[
        Expanded(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children: <Widget>[
              Container(
                child: Icon(Icons.accessibility),
                height: 10,
              ),
              Container(
                child: Icon(Icons.account_balance),
                height: 10,
              ),
            ],
          )
        ),
        Container(
          padding: EdgeInsets.all(8.0),
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            children: <Widget>[
              Icon(Icons.account_balance_wallet),
              Icon(Icons.adb),
              Icon(Icons.account_box),
              Icon(Icons.ac_unit),
            ],
          ),
        ),
      ],
    );
  

看起来像这样:

【讨论】:

【参考方案2】:

在小部件中试试这个:


 body: Center(
        child: Column(
          children: <Widget>[
            Text(
              'Start Row',
            ),
            Expanded(child:
              Center(child:Text('Middle Row')),
            ),
            Text('End Row'),
          ],
        ),
      ),

在哪里看到要插入行的文本。无论您的屏幕有多大,展开都会占用中间的所有空间。您可以级联该设计理念。

【讨论】:

以上是关于如何在颤动的屏幕底部放置一行的主要内容,如果未能解决你的问题,请参考以下文章

使用底部导航栏颤动保存 PageView 内每个页面的状态

如何在屏幕底部放置离子标签?

如何在颤动的底部导航栏中添加抽屉?

如何在颤动中使容器大于实际屏幕

如何在 iOS 视网膜和非视网膜的屏幕底部放置 admob 横幅

在屏幕底部放置一个视图