当maxLines为null时,如何使TextFormField prefixIcon保持顶部对齐?

时间:2019-02-19 08:48:20

标签: flutter

我正在尝试创建一个TextFormField,它具有无限制的输入字段,从某种意义上说,如果用户按下Enter键,则该框可以无限扩展。但是,似乎prefixIcon属性包裹在Center中,因此,每当用户单击Enter时,图标都会重新对齐到文本框的中央,从而带来特别奇怪的体验。

我一直试图使该图标不动,但似乎无济于事。

这是我的表单字段:

TextFormField(
    maxLines: null,
    keyboardType: TextInputType.multiline,
    style: theme.textTheme.body1,
    decoration: InputDecoration(
        prefixIcon: Icon(
            Icons.description,
            color: theme.iconTheme.color,
        ),
        contentPadding: EdgeInsets.all(15.0),
        hintText: 'Enter description'
    ),
)

2 个答案:

答案 0 :(得分:2)

您可以使用prefix:代替prefixIcon

TextFormField(
                  maxLines: null,
                  keyboardType: TextInputType.multiline,
                  decoration: InputDecoration(
                      prefix: Icon(Icons.email),
                      hintText: 'Enter description'),
                ),

答案 1 :(得分:0)

我通过在prefixIcon中添加填充来解决

      prefixIcon: Padding(
        padding: const EdgeInsets.only(bottom: 80),
        child: Icon(
          icon,
          color: color,
        ),
      ),