Flutter 键盘隐藏不适用于选项卡点击

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

我有一个标签栏应用程序。一个选项卡有文本字段。它显示键盘。我想在按下任何其他选项卡后隐藏键盘。我使用了下面的代码,但它仍然无法在其他选项卡上工作。

return new Scaffold(
      key: _scaffoldKey,
      resizeToAvoidBottomInset: false,
        backgroundColor: blackColor,
        body: GestureDetector(
            behavior: HitTestBehavior.translucent,
            onTap: () {
              FocusScope.of(context).requestFocus(new FocusNode());
            },
            child: Stack(children: <Widget>[
              _showForm(),
            ],)
        ),
        );


flutter uitextfield flutter-layout
4个回答
1
投票

你可以像这样在 TabBar() 下使用 onTap:

TabBar(
        onTap: (_) => FocusManager.instance.primaryFocus?.unfocus(),
         tabs: [
            tab1(),
            tab2(),
)

这将使每个选项卡都失去键盘的焦点并移动到其他选项卡


0
投票

在标签更改时使用

FocusScope.of(context).unfocus()


0
投票

当您单击更改选项卡时,请在下面写下:

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

0
投票

你只需这样做

TabBar(
 onTap: (_) => FocusManager.instance.primaryFocus?.unfocus(),
 tabs: [
     // add your tabs here...
 ]
)
© www.soinside.com 2019 - 2024. All rights reserved.