增加键盘和文本字段之间的空间

vix*_*xez 3 keyboard space textfield flutter

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

因为它现在显示错误,所以实际 TextField 之间的空间似乎更小。那么有没有办法在屏幕向上滚动时增加键盘和小部件之间的尺寸呢?

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

所以这不是让屏幕滚动的问题,而是增加键盘之间的空间的问题。

谢谢。

kou*_*nex 8

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

请记住:只有当周围Scrollable(如ListView)有足够的空间滚动经过TextField小部件以适应给定的情况时,这才有效scrollPadding- 否则您会看到 位于TextField键盘正上方,“忽略”填充。要解决这个问题,您可以将 aSizedBox作为小部件中的最后一个条目Scrollable,以确保显示键盘后有足够的空间可以滚动:

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