flutter的文本输入框TextField的设置项非常多,有时候会忘记怎么设置常用的输入限制项了,在这里罗列一下经常用到的一些设置项,免得大家去猜去记忆。
TextField的常用设置一般包括,去掉底部的下划线、限制最大输入字数、去掉计数文本、设置提示文字、设置最大行数、设置仅允许输入数字、自动弹出数字键盘等。
下面直接给出代码:
TextField(
onChanged: onEditChanged, //文本变化的监听
controller: _controller, //TextEditingController,用于获取文本值
keyboardType: TextInputType.number, //设置键盘为数字
obscureText: true,//设置成遮挡文字,就是密码输入
inputFormatters: [
FilteringTextInputFormatter.allow(RegExp(r'[0-9]'))//设置只允许输入数字
],
style: TextStyle( //设置输入文字的颜色和大小
fontSize: 14.0,
color: Colors.black,
),
//设置文本输入框的装饰样式
decoration: InputDecoration(
hintStyle: TextStyle(color: UpColors.hintTextColor),//提示文字的样式
hintText: "请输入一个班级数字",//提示文字
counterText: '',//去掉右下角类似“1/100”这样的计数文本
isDense: true,
border: InputBorder.none,//去掉输入框下方的下划线
contentPadding: EdgeInsets.zero,//设置文本内容的Padding
),
maxLines: 1,//最大行数
maxLength: 3,//最大长度
autofocus: true,//设置进入页面是否自动弹出键盘,true为自动弹出,false为不自动弹出键盘
)
- onChanged:文本变化的监听函数
- controller:TextEditingController,通过controller可以获取文本的值、清除文本
- keyboardType:可以设置弹出键盘的样式,比如设置为数字键盘、输入文本的键盘
- obscureText:可以设置成密码输入
- inputFormatters:可以限制输入的格式,比如只允许输入数字,FilteringTextInputFormatter.allow接受一个正则表达式,输入的限制可以自己定义,比如限制字母或者电话号码等。
- style:设置输入文字的颜色和大小
- decoration:接收一个InputDecoration,在InputDecoration里面可以设置提示文字和提示文字的样式,注意计数文本的设置和去掉下划线也是在这里设置
- counterText:如果设置了maxLength,在输入框的右下角会有个计数文本类似0/100,如果不需要,把counterText设置为""即可
- border:默认的TextField下方有一条下划线,如果要去掉,设置成InputBorder.none
- autofocus:设置进入页面是否自动弹出键盘,true为自动弹出,false为不自动弹出键盘
好,先写到这里,基本已经满足大部分的需求了,后面有补充的再写进来