首页 > 解决方案 > 如何使小部件仅粘在页面底部

问题描述

我正在尝试构建如下图所示的视图。您回复的推文只是堆叠在底部,而其他内容是可滚动的。几个小时以来,我一直在思考如何实现这一目标。完全正确;就像下图一样。有四个部分:

  1. 帖子(推文)
  2. 图标行
  3. 评论(滚动)
  4. 你的回复是静态的推文

在此处输入图像描述

标签: flutter

解决方案


解决方案是使用Align小部件。所以在你的Stack你会放在堆栈中的最后一个元素:

Align(
  alignment: Alignment.bottomCenter,
  child: // your widget would go here
),

我从你的问题判断,你已经弄清楚如何做所有其他部分,只是想知道底部部分。您也可以使用Align其他方式对齐事物(例如 topCenter、bottomLeft 等)。希望这会有所帮助,如果是这样,请投票并接受作为答案,如果没有,请在下面发表评论。


编辑: 我不会使用Stack. 我会将整个小部件树包装在 aColumn中,并将帖子放在ExpandedWidget 中,其 flex 因子为 1,其Row下方有 a 图标。然后将 aListView放入Expanded一个 flex 为 4 的小部件中(您可以尝试使用值)。最后在Column我会添加你“推文你回复”小部件。

简单的布局代码,让您了解如何实现它:

Column(
      children: <Widget>[
        Expanded(
          child: ListView(
            shrinkWrap: true,
            children: <Widget>[
              //your post
              Row(
                mainAxisAlignment: MainAxisAlignment.spaceAround,
                children: <Widget>[
                  // your icons
                ],
              ),

              //your comments
            ],
          ),
        ),
        Align(
          alignment: Alignment.bottomCenter,
          child: // you textField,
        ),
      ],
    )

推荐阅读