#####简单的应用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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类型,它接收当前输入内容做为参数,而onEditingComplete不接收参数。
    inputFormatters:用于指定输入格式;当用户输入内容改变时,会根据指定的格式来校验。
    enable:如果为false,则输入框会被禁用,禁用状态不接收输入和事件,同时显示禁用态样式(在其decoration中定义)。
    cursorWidth、cursorRadius和cursorColor:这三个属性是用于自定义输入框光标宽度、圆角和颜色的。

#####未完待续…