滚动时关闭键盘?

问题描述 投票:0回答:3

我在应用程序中有textfield。当点击文本字段时,这个打开的键盘自动。但是当向下滚动列表(firebaseAnimatedList)后面的键盘不会被解雇。这不正常,是iOS上的大问题,因为无法按下后退按钮。

谁知道怎么解决?

flutter flutter-layout flutter-animation
3个回答
2
投票

这就是我做的:

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


0
投票

您可以将以下代码放在列表滚动侦听器中。

FocusScope.of(context).requestFocus(new FocusNode());


0
投票

这就是给你想要的效果:

NotificationListener(
 onNotification: (ScrollNotification scrollInfo) {

   if (scrollInfo is ScrollUpdateNotification) {
     if (scrollInfo.scrollDelta >= 20.0)      {
       FocusScope.of(context).requestFocus(FocusNode());
      }
     }

    },
 child: new FirebaseAnimatedList ...)
© www.soinside.com 2019 - 2024. All rights reserved.