我正在制作一个我希望用户能够使用TextFormFields输入内容的应用程序。为了简化数据存储,我创建了TextFormField类的子类:
MyTextFormField({
this.labelText,
this.validator,
this.onSaved,
this.maxLines = 1,
this.maxLength = 30,
});
@override
Widget build(BuildContext context) {
return Expanded(
child: TextFormField(
maxLines: maxLines,
maxLength: maxLength,
validator: validator,
onSaved: onSaved,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
),
labelText: labelText,
),
),
);
}
}
我将它们放在屏幕上:
Padding(
padding: const EdgeInsets.all(8.0),
child: Row(
children: <Widget> [
MyTextFormField(
maxLength: 20,
labelText: "Ingredient",
),
Text("QT"),
MyTextFormField(
maxLength: 6,
labelText: "amount",
),
],
),
),
看起来像这样:
我希望最左边的(金额)字段显着小于右边的字段,因为它仅应包含一个整数。我已经尝试过使用“灵活”窗口小部件,但是却无济于事,有时会给我带来很多错误,并使应用程序崩溃。有人知道如何解决吗?
Expanded(
flex: 4,
child: MyTextFormField(
maxLength: 20,
labelText: "Ingredient",
),
),
Text("QT"),
Expanded(
flex: 1,
child: MyTextFormField(
maxLength: 6,
labelText: "amount",
),
),