整理自:用flutter快速构建原生应用
5.1 表单组件的应用
5.1.1 关于表单容器
表单容器的作用是组合表单组件。Form组件中的属性:
5.1.2 TextFormField详解-文本输入框组件
decoration属性用来设置输入的提示文本
validator属性用来设置有效性校验逻辑,校验合法,就直接返回null即可。
controller属性用来管理文本框的编辑信息,调用其clear方法可以清空输入框的文本,其中的text属性用来存储输入框中的文本,selection属性用来存储输入框中选中的内容。
5.1.3 InputDecoration类-用来进行输入框提示视图的设置
常用属性:
InputDecoration是对输入框组件界面上的修饰,其错误信息不会关联到输入校验逻辑,需要开发者手动处理。5.1.4 下拉选择框DropdownBUttonFormField组件的应用5.1.5 RawKeyboardListener自定义组件接收键盘事件
RawKeyboardListener是Flutter中非常特殊的一个组件,其只支持非iOS系统。一般情况下,只有输入框组件可以接收键盘事件,使用RawKeyboardListener可以让自定义的任意组件都具有接收键盘事件的功能。在build函数中创建焦点节点对象,并使其获取焦点。
想要接收键盘事件的组件,需要作为RawKeyboardListener组件的子组件。
在Android设备上运行程序,我们为Text组件添加了接收键盘事件的功能。RawKeyboardListener对象的onKey方法当接收到来自键盘的事件后会被回调,其中会传入事件对象作为参数。键盘事件对象分为两类,即RawKeyDownEvent和RawKeyUpEvent,分别表示键盘按键按下与键盘按键抬起。这两个类中都封装了按钮的编码等信息。