增加键盘和TextField之间的空间

问题描述

我的应用程序中有多个TextFieldTextFormField,但是我对其进行了自定义,以便它们可以在其下方显示错误消息。

由于现在显示错误,因此实际TextField之间的空间似乎更小。 那么,有没有办法在屏幕向上滚动时增加键盘和小部件之间的大小?

我假设此空间是在某个地方设置的值,但似乎找不到它。

所以这不是使屏幕滚动正常工作的问题,而是关于增加键盘间的间距的问题。

谢谢。

解决方法

由于您使用了TextField小部件,因此可以使用scrollPadding属性,该属性指示您希望在所谓的viewInsets(通常类似于UI键盘)之间有多少空间。和TextField小部件。因此,您可以设置类似EdgeInsets.only(bottom: 32.0)(默认值为20.0)。

请记住:仅当周围的Scrollable(如ListView)有足够的空间滚动到TextField小部件以适合给定的scrollPadding时,此方法才有效-否则,您会看到TextField就在键盘上方,“忽略”了填充。要解决此问题,您可以将SizedBox作为Scrollable小部件中的最后一个条目,以确保在显示键盘后有足够的滚动位置:

ListView(
  TextField(
    scrollPadding: const EdgeInsets.only(bottom: 32.0),),SizedBox(height: MediaQuery.of(context).viewInsets.bottom + 32.0),