Flutter开发之——表单组件,贼好用的Android学习路线集合

children: [

Text(

“用户名”,

style: TextStyle(

color: Colors.black,

fontSize: 16,

fontWeight: FontWeight.bold),

),

TextFormField(

controller: userNameController,

decoration: InputDecoration(

icon: Icon(Icons.person),

suffixIcon: Icon(Icons.delete),

labelText: “请输入用户名”,

counterText: “${_userNameFieldValue.length}/32”),

autovalidateMode: AutovalidateMode.disabled,

validator: (userName) {

if (userName.length < 3) {

return “用户名过短”;

}

return null;

},

onChanged: (value) {

setState(() {

_userNameFieldValue = value;

});

},

onSaved: (value) {

_name = value;

},

keyboardType: TextInputType.number,

textCapitalization: TextCapitalization.words,

textInputAction: TextInputAction.search,

),

Text(“密码”,

style: TextStyle(

color: Colors.black,

fontSize: 16,

fontWeight: FontWeight.bold)),

TextFormField(

controller: passWordController,

decoration: InputDecoration(

icon: Icon(Icons.lock),

suffixIcon: Icon(Icons.delete),

labelText: “请输入密码”,

counterText: “${_passWordFieldValue.length}/32”,

),

autovalidateMode: AutovalidateMode.disabled,

obscureText: true,

validator: (passWord) {

if (passWord.length < 3) {

return “密码过短”;

}

return null;

},

onChanged: (value) {

setState(() {

_passWordFieldValue = value;

});

},

onSaved: (value) {

_pwd = value;

},

),

RaisedButton(

onPressed: () {

var _state = _formKey.currentState;

if (_state.validate()) {

_state.save();

login(_name, _pwd);

}

//login(_userNameFieldValue, _passWordFieldValue);

},

child: Text(“登录”),

)

],

),

onChanged: () {

//print(“用户名:${userNameController.text}”);

//print(“密码:${passWordController.text}”);

},

));

//login方法

void login(String name, String pwd)

{

print(“用户名: n a m e , 密码: name,密码: name,密码:_pwd”);

userNameController.clear();

passWordController.clear();

}

4.2 效果图

4.3 Form属性

| 属性 | 说明 | 取值 |

| :-: | :-: | :-: |

| key | 整个应用程序中唯一的密钥 | Key对象 |

| onWillPop | 返回按钮拦截后的小控件的方法 | WillPopCallback对象 |

| autovalidateMode | 输入框变化校验 | bool对象 |

| onChanged | 输入框发生变化时的回调函数 | Function对象 |

4.4 TextFormField

| 属性 | 说明 | 取值 |

| :-: | :-: | :-: |

| initialValue | 初始值 | String对象 |

| keyboardType① | 键盘类型 | TextInputType对象 |

| textCapitalization② | 文本的断行方式 | TextCapitalization枚举值 |

| textInputAction③ | 键盘输入按钮的类型 | TextInputAction枚举值 |

| decoration④ | 输入框试图 | InputDecoration对象 |

| style | 文本风格 | TextStyle对象 |

| textDirection | 文本方向 | TextDirection枚举值 |

| textAlign | 文本对齐方式 | TextAlign枚举值 |

| obscureText | 文本显示是否加密 | bool对象 |

| autocorrect | 是否开启自动更正 | bool对象 |

| autovalidate | 是否自动有效性检查 | bool对象 |

| maxLines | 最大行数 | int对象 |

| onEditingComplete | 编辑完成时的回调 | Function |

| onFieldSubmitted | 表单提交时的回调 | Function |

| onSaved | 表单保存时的回调 | Function |

| validator | 有效性校验函数 | Function |

| enabled | 输入框是否可用 | bool对象 |

keyboardType①

| 名称 | 说明 |

| :-: | :-: |

| datetime | 日期时间类型 |

| emailAddress | Email地址类型 |

| multiline | 多行文本类型 |

| number | 数字键盘类型 |

| phone | 电话类型 |

| text | 文本类型 |

| url | 网址链接类型 |

textCapitalization②

| 名称 | 说明 |

| :-: | :-: |

| characters | 使用字符进行断行 |

| words | 使用单词进行断行 |

| sentences | 使用句子进行断行 |

textInputAction③

| 名称 | 说明 |

| :-: | :-: |

| continueAction | 继续按钮 |

| done | 完成按钮 |

| emergencyCall | 紧急电话按钮(IOS) |

| go | 前进按钮 |

| join | 加入按钮 |

| newline | 换行按钮 |

| next | 下一步按钮 |

| previous | 上一步按钮 |

| route | 跳转按钮 |

| search | 查找按钮 |

| send | 发送按钮 |

| unspecified | 默认按钮 |

decoration(InputDecoration)④

| 属性 | 说明 | 取值 |

| :-: | :-: | :-: |

| border | 提示试图边框 | InputBorder对象 |

| counterPadding | 内容的内间距 | EdgeInsetsGeometry对象 |

| counterText | 输入框下方标识文字个数 | String对象 |

| counterStyle | 显示字数文本的风格 | TextStyle对象 |

| disabledBorder | 不可用时的边框 | InputBorder对象 |

| enabled | 是否可用 | bool对象 |

| enabledBorder | 可用时的边框 | InputBorder对象 |

| errorBorder | 出错是的边框 | InputBorder对象 |

| errorMaxLines | 出错文本的最大行数 | int对象 |

| errorStyle | 出错文本的风格 | TextStyle对象 |

| errorText | 错误文本 | String对象 |

| fillColor | 填充颜色 | Color对象 |

| helperText | 帮助文本 | String对象 |

| helperStyle | 帮助文本的字体风格 | TextStyle对象 |

| hintText | 提示文本显示文本 | String对象 |

| hintStyle | 提示文本字体风格 | TextStyle对象 |

| icon | 图标 | Widget对象 |

| labelText | 标签文本 | String对象 |

| labelStyle | 标签文本的字体风格 | TextStyle对象 |

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

题外话

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多程序员朋友无法获得正确的资料得到学习提升,故此将并将重要的Android进阶资料包括自定义view、性能优化、MVC与MVP与MVVM三大框架的区别、NDK技术、阿里面试题精编汇总、常见源码分析等学习资料。

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

[外链图片转存中…(img-Hi6VZ26c-1712514758668)]

希望我能够用我的力量帮助更多迷茫、困惑的朋友们,帮助大家在IT道路上学习和发展~

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值