Flutter searchable_dropdown隐藏键盘

时间:2020-04-25 13:01:12

标签: flutter dart

我正在使用searchable_dropdown https://pub.dev/packages/searchable_dropdown

当用户触摸输入文本字段时,如何仅显示键盘?

所有示例都表明,用户单击下拉按钮后,键盘立即出现。

如果选中属于该程序包的searchable_dropdown.dart,则键盘焦点将设置为true

  Widget searchBar() {
    return new Container(
      child: new Stack(
        children: <Widget>[
          new TextField(
            controller: txtSearch,
            decoration: InputDecoration(
                contentPadding:
                    EdgeInsets.symmetric(horizontal: 32, vertical: 12)),
            autofocus: true,

当用户触摸输入文本字段时,如何仅显示键盘?

2 个答案:

答案 0 :(得分:0)

searceable_dropdown.dart 中查找 searchBar 小部件并将自动对焦更改为 false 不要忘记运行 pub get

 Widget searchBar() {
    return new Container(
      child: new Stack(
        children: <Widget>[
          new TextField(
            controller: txtSearch,
            decoration: InputDecoration(
                contentPadding:
                    EdgeInsets.symmetric(horizontal: 32, vertical: 12)),
            autofocus: false,//Here change from true to false
            onChanged: (value) {
              _updateShownIndexes(value);
              setState(() {});
            },
            keyboardType: widget.keyboardType,
          ),
          new Positioned(
            left: 0,
            top: 0,
            bottom: 0,
            child: new Center(
              child: new Icon(
                Icons.search,
                size: 24,
              ),
            ),
          ),
          txtSearch.text.isNotEmpty
              ? new Positioned(
                  right: 0,
                  top: 0,
                  bottom: 0,
                  child: new Center(
                    child: new InkWell(
                      onTap: () {
                        _updateShownIndexes('');
                        setState(() {
                          txtSearch.text = '';
                        });
                      },
                      borderRadius: BorderRadius.all(Radius.circular(32)),
                      child: new Container(
                        width: 32,
                        height: 32,
                        child: new Center(
                          child: new Icon(
                            Icons.close,
                            size: 24,
                          ),
                        ),
                      ),
                    ),
                  ),
                )
              : new Container(),
        ],
      ),
    );
  }

答案 1 :(得分:0)

我找到了解决方案。转到 searchable_dropdown.dart 类。在第 871 或 877 行会有 autofocus: true。只需转换 true => fasle。关闭项目并重新启动。 这会奏效。