如何用 flutter 在 android 中实现(完成)按钮

how to implement the (Done) button in android with flutter

我想在 textField 更改时实现搜索 api,现在可以正常工作,但我应该按 android 移动键盘上的 (DONE) 按钮,我需要这样做什么(完成)按钮在(onCahnged)或任何其他按钮中枯萎,谢谢...

这是我的代码: 这是当我用文本字段中的搜索词调用 api 时,它工作没有问题:

TextEditingController search = TextEditingController();

  searchCat() async {
    var res = await http.get(Config.url+"cat/"+search.text);
    if(res.statusCode == 200){
      var jsonObject = json.decode(res.body);
      return jsonObject['result'];
    }
  }

这是我的 TextField:

 child: TextField(
                  controller: search,
                  onChanged: (txt){
                        searchCat();
                  },
                  autofocus: false,
                  style: TextStyle(fontSize: 15.0, color: Colors.black),
                  decoration: InputDecoration(
                    filled: true,
                    fillColor: Colors.white,
                    hintText: 'Searching',
                    contentPadding:
                    const EdgeInsets.only(left: 14.0, bottom: 5.0, top: 5.0),
                    focusedBorder: OutlineInputBorder(
                      borderSide: BorderSide(color: Colors.white),
                      borderRadius: BorderRadius.circular(10),
                    ),
                    enabledBorder: UnderlineInputBorder(
                      borderSide: BorderSide(color: Colors.white),
                      borderRadius: BorderRadius.circular(10),
                    ),
                  ),

和这个显示数据的代码,正如我所说,它工作完美,但就在我按下键盘上的(完成)按钮时

Center(
        child: FutureBuilder(
          future: searchCat(),
          builder: (context, snapshot){
            if(snapshot.data != null){
              return ListView.builder(
                itemCount: snapshot.data.length,
                itemBuilder: (context, index){
                  return CatTile(
                    cid: snapshot.data[index]['id'],
                    img:snapshot.data[index]['img'],
                    name: snapshot.data[index]['name'],
                    desc: snapshot.data[index]['desc'],
                  );
                },
              );
            }else{
              return Center(child: CircularProgressIndicator(),);
            }
          },

提前致谢....

完成按钮有什么作用?我认为这会使 TextField 失去焦点 => 因此我们可以使用 FocusNode class.

请检查https://flutter.dev/docs/cookbook/forms/focus