【问题标题】:Increase space between keyboard and TextField增加键盘和 TextField 之间的空间
【发布时间】:2020-11-06 10:18:19
【问题描述】:

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

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

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

所以这不是关于使屏幕滚动有效的问题,而是关于增加键盘之间的空间。

谢谢。

【问题讨论】:

  • textformfield 中的验证器已在字段下方显示错误。如果您的要求不同,请尝试对话框或小吃吧。
  • 我需要遵循严格的 UI 设计。默认错误不足,其他方法不接受。这就是我创建自定义小部件的原因。

标签: flutter keyboard textfield space


【解决方案1】:

由于您使用了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),
),

【讨论】:

  • 它对我有用!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 2015-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多