1

我很难让 Row 的两个孩子,即 TextField 和 RaisedButton 的高度相同。按钮的高度总是较短。我可以用 SizedBox 做到这一点,但它是固定高度并且是手动的。这是我的代码和 UI 现在的样子:

                   Row(
                     children: [
                       Padding(
                         padding: _padding,
                         child: SizedBox(
                           width: 200,
                           child: TextField(
                             keyboardType: TextInputType.number,
                             decoration: InputDecoration(
                                 labelText: 'Answer',
                                 border: OutlineInputBorder(borderRadius: BorderRadius.circular(4.0))
                             ),
                           ),
                         ),
                       ),
                       RaisedButton(
                         onPressed: _evaluate,
                         child: Text('Evaluate'),
                       ),
                     ],
                   ),

在此处输入图像描述

我想知道是否有推荐的方法如何使 Row 的孩子身高相同。

顺便说一句,侧面的黑线是用于模拟器框架的。

4

3 回答 3

2

用容器包裹文本字段并赋予其高度并不好,某些情况下文本字段在键入时会破裂,您可以在您的内部使用 Textfield -> InputDecoration;

contentPadding: EdgeInsets.all(20),

您可以从此处调整文本字段高度。

于 2020-08-26T17:48:49.620 回答
1

您可以用小部件包装RowSizedBox部件并给它一个期望的height

我以您的代码为例添加了一个演示:

 SizedBox( // new line 
      height: 60, // give it a desired height here
      child: Row(
        children: [
          Padding(
            padding: _padding,
            child: SizedBox(
              width: 200,
              child: TextField(
                keyboardType: TextInputType.number,
                decoration: InputDecoration(
                    labelText: 'Answer',
                    border: OutlineInputBorder(
                        borderRadius: BorderRadius.circular(4.0))),
              ),
            ),
          ),
          RaisedButton(
            onPressed: _evaluate,
            child: Text('Evaluate'),
          ),
        ],
      ),
    ),
于 2020-08-26T17:38:36.673 回答
1

尝试用 SizedBox 或固定高度的容器包裹 Row

于 2020-08-26T17:17:12.670 回答