【问题标题】:How do I position a FAB in between 2 widgets in Flutter?如何在 Flutter 的 2 个小部件之间定位 FAB?
【发布时间】:2020-04-23 21:03:56
【问题描述】:

我想实现如下外观:



如何使 FAB 灵活地定位在这两个小部件之间? (在顶部个人资料图片和底部个人资料信息之间)

我已经成功制作了 2 个容器,但我不知道如何将 FAB 定位在它们的确切水平边界处。

我的代码(这是整个小部件树,包裹在脚手架中):

Row(
    children: <Widget>[
        Expanded(
        child: Column(
            children: <Widget>[
            Expanded(
                flex: 4,
                child: Container(
                    decoration: BoxDecoration(color: Colors.grey.shade300),
                ),
            ),
            Expanded(
                flex: 6,
                child: Container(),
            ),
            ],
        ),
        ),
    ],
),

【问题讨论】:

    标签: flutter widget position floating-action-button


    【解决方案1】:

    您可以一起使用 Stack & Positioned 小部件来根据您的要求定位 FAB。

    Stack(
      children:[
       // Add your existing row & it's child here,
       Positioned(
         child: FloatingActionButton(
           onPressed:(){ },
           child: Icon(Icons.camera_alt)
         ),
         right: 5,
         top: MediaQuery.of(context).size.height * .3,
       )
      ],
    ),
    

    还有输出:

    注意:您可能需要调整定位小部件的顶部值,以将 FAB 准确放置在您的案例中。如果您知道该图像小部件的确切高度,则可以将 top 设置为 height - 28。

    【讨论】:

    • 我认为我应该使用 flex 来定位屏幕上的所有内容,但您的回答有效,所以我不会抱怨!
    猜你喜欢
    • 2022-12-14
    • 2021-05-15
    • 2020-04-16
    • 2021-10-21
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    相关资源
    最近更新 更多