gpt4 book ai didi

dart - flutter - 为什么受限框中的文本输入没有从 minHeight 增长到 maxHeight?

转载 作者:IT王子 更新时间:2023-10-29 07:14:21 26 4
gpt4 key购买 nike

这是一个在滚动区域中创建文本输入的小部件。我希望文本小部件从 minHeight 增长到 maxHeight,但它默认为 maxHeight。

即使文本输入没有高度,我如何构建它以从 minHeight 增长到 maxHeight?

这是我当前的代码:

return new ConstrainedBox(
constraints: new BoxConstraints(
minHeight: 25.0,
maxHeight: 60.0,
),
child: new ListView(
scrollDirection: Axis.vertical,
reverse: true,
children: <Widget>[

new Container(
decoration: new BoxDecoration(
color: Colors.grey,
),
padding: const EdgeInsets.all(7.0),

// here's the actual text box
child: new TextField(
keyboardType: TextInputType.multiline,
maxLines: null, //grow automatically
focusNode: mrFocus,
controller: _textController,
onSubmitted: currentIsComposing ? _handleSubmitted : null,
decoration: new InputDecoration.collapsed(
hintText: ChqStrings.of(context).sendAMessage(),
),
),
// ends the actual text box
),
],
),
);

最佳答案

警告:在大多数情况下,测量小部件的大小并不是一个好主意。您应该考虑许多备选方案。

Flutter widgets 既不知道它们在屏幕上的渲染位置,也不知道它们的兄弟/ child 的大小。有一些异常(exception)。但请记住这一点。


这是一个单行代码:context.size。其中 context 是您要测量的小部件的上下文。该函数仅在构建方法之外可用。

您可能想使用 GlobalKey 来获取子项的上下文。

由于 size 属性仅在构建之后可用,您可能还想使用 Scheduler 在构建调用之后 进行计算。这可以通过 SchedulerBinding.instance.addPostFrameCallback(callback) 实现。

关于dart - flutter - 为什么受限框中的文本输入没有从 minHeight 增长到 maxHeight?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48678918/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com