我在应用程序中有textfield。当点击文本字段时,这个打开的键盘自动。但是当向下滚动列表(firebaseAnimatedList)后面的键盘不会被解雇。这不正常,是iOS上的大问题,因为无法按下后退按钮。
谁知道怎么解决?
这就是我做的:
NotificationListener(
onNotification: (t) {
if (t is UserScrollNotification) {
FocusScope.of(context).requestFocus(FocusNode());
}
},
child: ListView.builder(
itemBuilder: (_, i) => Container(),
itemCount: items.length,
),
);
附加ScrollListener
对我不起作用,因为Android使用ClampingScrollPhysics
,如果ListView项目比父项长,它只会收到滚动事件。然而,NotificationListener
将接收所有冒泡的事件,包括UserScrollNotification
。
您可以将以下代码放在列表滚动侦听器中。
FocusScope.of(context).requestFocus(new FocusNode());
这就是给你想要的效果:
NotificationListener(
onNotification: (ScrollNotification scrollInfo) {
if (scrollInfo is ScrollUpdateNotification) {
if (scrollInfo.scrollDelta >= 20.0) {
FocusScope.of(context).requestFocus(FocusNode());
}
}
},
child: new FirebaseAnimatedList ...)