如何在按键时更改 TextField 的文本?
How do I make TextField's text change on key presses?
我正在尝试使用 Flutter 在 Android Studio 上制作一个计算器应用程序。
我怎样才能拥有可用于通过 phone 键盘或单击我的应用程序(计算器)中提供的数字键盘来输入数字的 TextField(或任何其他小部件)?
当用户按下操作按钮(+、-、*、/)时,如何将 TextField 中的当前文本放入变量中,然后清空 Field 以便能够键入更多数字?
使用key
显示计算器屏幕。
TextFormField(
key: Key(calculatorValue.toString()),
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: 'Total',
),
),
当用户点击加号按钮时:
例如“101”会变成“101+”
InkWell(
onTap: (){
setState(() {
calculatorValue = calculatorValue.toString() + '+';
});
},
child: Container(
width: 100
height: 50,
child: Text('+')
)
)
我假设您正在创建一个带有显示屏的计算器,您可以在其中使用键盘输入或按下按钮以将运算或数字添加到显示屏。
将 TextEditingController
分配给显示的 TextField
final displayController = TextEditingController();
TextField(
controller: displayController
...
),
操作按钮需要简单的点击触发:
setState(() {
displayController.text += ' + '; // assuming add operation
});
相反,为了评估显示屏上的最终表达式,我建议查看 math_expressions
等预制库
我正在尝试使用 Flutter 在 Android Studio 上制作一个计算器应用程序。
我怎样才能拥有可用于通过 phone 键盘或单击我的应用程序(计算器)中提供的数字键盘来输入数字的 TextField(或任何其他小部件)?
当用户按下操作按钮(+、-、*、/)时,如何将 TextField 中的当前文本放入变量中,然后清空 Field 以便能够键入更多数字?
使用key
显示计算器屏幕。
TextFormField(
key: Key(calculatorValue.toString()),
keyboardType: TextInputType.number,
decoration: InputDecoration(
labelText: 'Total',
),
),
当用户点击加号按钮时: 例如“101”会变成“101+”
InkWell(
onTap: (){
setState(() {
calculatorValue = calculatorValue.toString() + '+';
});
},
child: Container(
width: 100
height: 50,
child: Text('+')
)
)
我假设您正在创建一个带有显示屏的计算器,您可以在其中使用键盘输入或按下按钮以将运算或数字添加到显示屏。
将 TextEditingController
分配给显示的 TextField
final displayController = TextEditingController();
TextField(
controller: displayController
...
),
操作按钮需要简单的点击触发:
setState(() {
displayController.text += ' + '; // assuming add operation
});
相反,为了评估显示屏上的最终表达式,我建议查看 math_expressions
等预制库