顶部图片:正常外观良好的TextFormField,但不为Widget
suffixIcon
下图:将Icon Widget
替换为suffixIcon
会使文本输入不必要地浮动
知道是什么原因造成的吗?
代码:这是带有suffixIcon
TextFormField(
decoration: InputDecoration(
suffixIcon: Icon(Icons.search),
)
)
当前解决方案:
TextFormField(
textAlignVertical: TextAlignVertical.bottom,
decoration: InputDecoration(
prefixIcon: Padding(
padding: const EdgeInsets.only(top: 12.0, right: 12.0),
child: Icon(Icons.search)
),
),
)
文档:
prefixIcon: Padding(
padding: const EdgeInsetsDirectional.only(start: 12.0),
child: myIcon, // myIcon is a 48px-wide widget.
)
[显然是根据文档,prefixIcon
和suffixIcon
包裹在Padding Widget
中,其值为12。因此,要使其回到原始位置,我们可以将其沿相反方向Padding
包裹,在这种情况下是top
和right
,因为我使用的是prefixIcon
。如果使用suffixIcon,请用top
和left
包装。最后,要使文本输入不浮动(填充底部),请添加此textAlignVertical: TextAlignVertical.bottom