gpt4 book ai didi

flutter - 当键盘出现时,白框会遮挡 View

转载 作者:IT王子 更新时间:2023-10-29 06:51:30 26 4
gpt4 key购买 nike

由于某种原因,更新 flutter 后,我的应用程序的一个部分已损坏。我在 SingleChildScrollView 中设置了一个文本表单小部件列表。每当我按下其中一个文本框时,键盘就会出现,一个空白的白框会自动向上推到视野中,遮住文本输入框。

enter image description here

在我遵循此链接的建议之前,在 ListView 中输入文本时遇到一些问题:https://www.didierboelens.com/2018/04/hint-4-ensure-a-textfield-or-textformfield-is-visible-in-the-viewport-when-has-the-focus/

它有效地解决了我之前遇到的当键盘出现时文本输入框不可见的问题。但是现在 while 框出现并遮挡了 View 。我还确保使用:

resizeToAvoidBottomPadding: false

按照常规建议。

这也是文本字段小部件代码之一的问题代码:

  @override
Widget build(BuildContext context) {

return new Scaffold(

body: new SafeArea(
child: new Form(

key: _formKey,

child: new SingleChildScrollView(

padding: const EdgeInsets.all(16.0),

child: new Column(
crossAxisAlignment: CrossAxisAlignment.stretch,

children: <Widget>[

circumstances(),
divider(),
description(),
divider(),
externalHappenings(),
divider(),
internalHappenings(),
divider(),
reflectionsAndCorrections(),
divider(),
abatement(),
divider(),
footerButtons()

],

),

)

)
),

resizeToAvoidBottomPadding: false,
);

}

Widget circumstances() {

return new EnsureVisibleWhenFocused(
focusNode: _focusNodeCircumstances,
child: new TextFormField(

controller: _circumstancesController,
maxLines: maxLines,

decoration: const InputDecoration(
border: const OutlineInputBorder(
borderRadius: const BorderRadius.all(const Radius.circular(0.0)),
borderSide: const BorderSide(color: Colors.black, width: 1.0)
),

filled: true,

labelText: "Circumstances",
hintText: "Who was there? Where were you?",
),

autofocus: true,

validator: (value) {

_activeJournalEntry.setCircumstances(value);

if(value == null || value.isEmpty) {
return "Please enter some circumstances.";
}

},

focusNode: _focusNodeCircumstances,

),
);

}

最佳答案

对该主题的回复为我指明了解决问题的正确方向。

我有三个深层嵌套的脚手架,其中最里面的两个有这个集合:

resizeToAvoidBottomPadding: false

然而,我最外层的脚手架没有,导致了这个问题。因此事实证明,嵌套脚手架很好,但您必须确保每个脚手架都设置了该属性以避免此问题。

另见,

https://github.com/flutter/flutter/issues/7036

关于flutter - 当键盘出现时,白框会遮挡 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53036420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com