所以我遇到了一个有趣的情况,我的父子根据内容(包含描述的文本)动态增加大小。此父小部件以只读模式显示内容,但此解决方案可能会解决您动态增加文本字段高度的其他问题。
我有一个height variable
和GlobalKey
。在initState
我使用的小部件中SchedulerBinding
,它addPostFrameCallback
在构建布局之后运行。
globalKey 被分配给我们需要它的孩子高度的任何父窗口小部件。
double height = 0.0;
GlobalKey _globalKey = GlobalKey();
@override
void initState() {
SchedulerBinding.instance.addPostFrameCallback((timeStamp) {
height = _globalKey.currentContext.size.height;
print('the new height is $height');
setState(() {});
});
super.initState();
}
其余代码看起来像这样
// this parent having dynamic height based on content
Container(
width: 100.0,
key: _globalKey,
child: Container(
width: 100.0,
child: Row(children: [ /// you can have column as well or any other widget.
Container(child: ...),
Container(height: height,), ///this widget will take height from parent
],),
)
)