我目前正在为我的入职构建生日页面。
正如您在图片中看到的,我创建了三个文本表单字段,用户可以在其中输入日月和年(LengthLimitingTextInputFormatter = 2 代表日和月,4 代表年)。
我怎样才能做到这一点,当一个文本字段填充了所需的数字时,例如天数为 12,焦点将自动跳转到下一个 TextFormFiled 月份,而用户无需单击所需数字之外的任何内容。
提前致谢!
@override
Widget build(BuildContext context) {
return Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
dateComposition,
style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600),
),
SizedBox(height: 7),
Container(
margin: EdgeInsets.all(4),
width: dateComposition == "Year"? 73: 55,
child: TextFormField(
textAlign: TextAlign.center,
//Keyboardtype for numbers
keyboardType: TextInputType.number,
//only numbers can be typed in
inputFormatters: <TextInputFormatter>[
FilteringTextInputFormatter.digitsOnly,
LengthLimitingTextInputFormatter(dateComposition=="Year"? 4 : 2),
],
style: TextStyle(fontSize: 18, fontWeight: FontWeight.w600),
autofocus: true,
cursorColor: kPrimaryMagentaColor,
decoration: InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(color: kTextIconColorDarkBlue),
borderRadius: BorderRadius.circular(15),
),
hintText: dateCompositionHintText,
hintStyle: TextStyle(fontWeight: FontWeight.w600, fontSize: 18.0),
contentPadding: EdgeInsets.only(
left: 10,
right: 10,
top: 10,
bottom: 10,
),
focusedBorder: OutlineInputBorder(
borderRadius: BorderRadius.circular(15),
borderSide: BorderSide(
color: kPrimaryMagentaColor,
width: 1.5,
),
),
),
),
),
],
);
}
}
`````