存在prefixIcon时如何设置FormTextField的高度

时间:2019-05-12 03:11:01

标签: dart flutter flutter-layout

我正在使用以下代码生成TextFormField,可以通过更改文本字段的垂直填充来更改高度。

final hotelSearchField = TextFormField(
  keyboardType: TextInputType.text,
  focusNode: _hotelSearchFocus,
  controller: _hotelSearchController,
  textInputAction: TextInputAction.search,
  onFieldSubmitted: (term) {},
  decoration: InputDecoration(
    contentPadding: EdgeInsets.symmetric(vertical: 7.0, horizontal: 20),
    hintText: "Search",
    border: OutlineInputBorder(
      borderRadius: BorderRadius.circular(10.0),
    ),
  ),
);

但是,当我在prefixIcon装饰中添加TextFormField时,无法通过更改垂直填充来更改TextFormField的高度。

  decoration: InputDecoration(
    contentPadding: EdgeInsets.symmetric(vertical: 7.0, horizontal: 20),
    hintText: "Search",
    border: OutlineInputBorder(
      borderRadius: BorderRadius.circular(10.0),
    ),
    prefixIcon: Icon(Icons.search, size: 20.0),
  )

我尝试减小图标的大小。但这只会更改Icon的大小,填充相同。

没有重点:

without focus

有重点:

with focus

我只希望降低高度。

谢谢..

1 个答案:

答案 0 :(得分:0)

prefixIcon将确保在TextFormField中保留一些填充,而不是使用下面描述的方式,您可以在其中调整图标的高度,宽度和填充{{1 }}。在下面的示例中,我们使用TextFormFieldContainer并借助Row小部件的flex属性对其进行划分。之后,我们可以借助任何子控件(例如ExpandedPadding等)来更改图标的高度和宽度。同样,通过以下方式,我们可以更改高度和SizedBox的宽度,带有填充。

enter image description here

TextFormField

希望它会有所帮助:)