flutter - 如何使小部件仅粘在页面底部
问题描述
我正在尝试构建如下图所示的视图。您回复的推文只是堆叠在底部,而其他内容是可滚动的。几个小时以来,我一直在思考如何实现这一目标。完全正确;就像下图一样。有四个部分:
- 帖子(推文)
- 图标行
- 评论(滚动)
- 你的回复是静态的推文
解决方案
解决方案是使用Align
小部件。所以在你的Stack
你会放在堆栈中的最后一个元素:
Align(
alignment: Alignment.bottomCenter,
child: // your widget would go here
),
我从你的问题判断,你已经弄清楚如何做所有其他部分,只是想知道底部部分。您也可以使用Align
其他方式对齐事物(例如 topCenter、bottomLeft 等)。希望这会有所帮助,如果是这样,请投票并接受作为答案,如果没有,请在下面发表评论。
编辑:
我不会使用Stack
. 我会将整个小部件树包装在 aColumn
中,并将帖子放在Expanded
Widget 中,其 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,
),
],
)
推荐阅读
- java - Webpack - 无效的配置对象。Webpack 已使用与 API 模式不匹配的配置对象进行初始化
- node.js - 无法在反应中读取未定义的属性“用户名”
- android - 在 google play 中发布应用后,我的 admob 广告没有显示
- php - codeigniter 从同一表格登录或注册
- c - 我的代码中是否有任何未初始化的值?
- javascript - 使用按位运算符时,javascript 和 python 的结果不同
- java - 无法让 DrJava 运行
- loops - VLC:使用多个视频 PID 循环播放 MPEG-TS 文件
- ios - 在表格视图中每 5 个单元格后添加一个广告正在替换内容
- python-3.x - 在 ubuntu 中为 python3.7.0 创建 virtualenv 不起作用