flutter - 如何在不显示键盘的情况下触发“TextInput.show”效果

时间:2021-04-02 08:44:38

标签: flutter

我试图在没有键盘的情况下显示文本选择。 似乎触发“TextInput.show”总是会调出键盘。 但不知何故没有 'TextInput.show' 我无法选择目标文本。 我想知道是否有替代选择没有键盘的文本。

1 个答案:

答案 0 :(得分:1)

您可以使用 Flutter 材料包中的 TextFormFiled。

所以首先将材料包导入您的班级

 import 'package:flutter/material.dart';

然后在您的小部件中任何您想要的位置创建 TextFormFiled

TextFormField(),
     

然后在构建方法的顶部创建控制器。您可以稍后使用控制器控制文本

TextEditingController _controller = TextEditingController();

然后您可以通过

自动隐藏键盘弹出窗口
TextFormField(
        autofocus: false,
        ),

但它会在您点击 TextFormFiled 时显示。所以你想隐藏键盘也点击状态设置如下

TextFormField(
       onTap: (){
         FocusScope.of(context).unfocus();
       },
        ), 

完整代码:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

class TestScreen extends StatelessWidget {

  TextEditingController _controller = TextEditingController();
  @override
  Widget build(BuildContext context) {
    
    return Scaffold(
      body: Center(
        child: TextFormField(
          controller: _controller,
       onTap: (){
         FocusScope.of(context).unfocus();
       },
        ),
      ),
    );
  }
}

快乐编码;