flutter 输入框和标点

简单的应用:
class _home extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return _homeState();
  }
}
class _homeState extends State<_home> {
  @override
  Widget build(BuildContext context) {
    // TODO: implement build
    return new Scaffold(
      appBar: new AppBar(
        title: Text("title"),
        centerTitle: true,
      ),
      body:new Column(
        children: <Widget>[
          TextField(//输入框Widget
            autofocus: true,//是否自动获取焦点
            decoration: InputDecoration(//InputDecoration:用于控制TextField的外观显示,如提示文本、背景颜色、边框等。
              hintText: "用户名昵称",
              prefixIcon: Icon(Icons.person),
            ),
          ),
          TextField(
            autofocus: false,
              keyboardType: TextInputType.number,
              decoration: InputDecoration(
                hintText: "用户密码",
                prefixIcon: Icon(Icons.lock),
              ),
            obscureText: true,//是否隐藏输入内容
          )
        ],
      )
    );
  }
}
效果图
常用属性:
  • controller:编辑框的控制器,通过它可以设置/获取编辑框的内容、选择编辑内容、监听编辑文本改变事件。大多数情况下我们都需要显式提供一个controller来与文本框交互。如果没有提供controller,则TextField内部会自动创建一个
  • focusNode:用于控制TextField是否占有当前键盘的输入焦点。它是我们和键盘交互的一个handle。
  • InputDecoration:用于控制TextField的外观显示,如提示文本、背景颜色、边框等。
  • prefixIcon:输入框内侧左面的控件
  • suffixIcon: 输入框内侧右面的图标.
  • keyboardType:用于设置该输入框默认的键盘输入类型,取值如下:
    1.TextInputType.text(普通完整键盘)
    2.TextInputType.number(数字键盘)
    3.TextInputType.emailAddress(带有“@”的普通键盘)
    4.TextInputType.datetime(带有“/”和“:”的数字键盘)
    5.TextInputType.multiline(带有选项以启用有符号和十进制模式的数字键盘)
  • style:正在编辑的文本样式。
  • textAlign: 输入框内编辑文本在水平方向的对齐方式。
  • autofocus: 是否自动获取焦点。
  • obscureText:是否隐藏正在编辑的文本,如用于输入密码的场景等,文本内容会用“•”替换。
  • maxLines:输入框的最大行数,默认为1;如果为null,则无行数限制。
  • maxLength和maxLengthEnforced :maxLength代表输入框文本的最大长度,设置后输入框右下角会显示输入的文本计数
  • maxLengthEnforced决定当输入文本长度超过maxLength时是否阻止输入,为true时会阻止输入,为false时不会阻止输入但输入框会变红。
  • onChange:输入框内容改变时的回调函数;注:内容改变事件也可以通过controller来监听。
  • onEditingComplete和onSubmitted:这两个回调都是在输入框输入完成时触发,比如按了键盘的完成键(对号图标)或搜索键(🔍图标)。不同的是两个回调签名不同,onSubmitted回调是ValueChanged<String>类型,它接收当前输入内容做为参数,而onEditingComplete不接收参数。
    inputFormatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。
    enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。
    cursorWidth、cursorRadius和cursorColor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。
未完待续...
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容