futter实战学习

参考
flutter生命周期https://www.jianshu.com/p/f39cf2f7ad78

Flutter Json、List、Map互转 - 掘金 (juejin.cn)

[Flutter Dart 正则RegExp 区间A-z0-9]、[\s\S]、\w(二)_正则匹配 09 az_️ 邪神的博客-CSDN博客

Flutter常用正则 - 简书 (jianshu.com)

flutter 强制横屏 https://blog.51cto.com/u_11070617/5539519

Flutter下拉刷新和上拉加载更多_flutter 上拉加载更多_s-010101的博客-CSDN博客

(51条消息) 20 Flutter TextField单行文本和多行文本_LJLThomson的博客-CSDN博客_flutter textfield 多行

(51条消息) flutter 底部输入框被键盘遮挡问题_※ᝰ的博客-CSDN博客

Dart/Flutter:如何检查字符串是否包含字母、数字 - 掘金 (juejin.cn)

Flutter String 常用方法 - 简书 (jianshu.com)

(37条消息) 【Flutter】Dart 数据类型 Map 类型 ( 创建 Map 集合 | 初始化 Map 集合 | 遍历 Map 集合 )_韩曙亮的博客-CSDN博客_dart map遍历

(90条消息) Flutter DateTime日期获取&字符串与日期之间转换_flutter 字符串转日期_卜大爷的博客-CSDN博客

(90条消息) Flutter 底部弹框 showModalBottomSheet 使用Demo_如何知道showbottomsheet已显示_早起的年轻人的博客-CSDN博客

Flutter 多项选择弹窗详解 - 知乎 (zhihu.com)

(90条消息) flutter 底部弹出选择器(选择性别,出生日期)_言希-的博客-CSDN博客

flutter PDA 扫描自动回车,但是不会触发RawKeyboardListener的onKey事件 - SegmentFault 思否

flutter:实现扫码枪获取数据源,禁止系统键盘弹窗 - 简书 (jianshu.com)

Flutter —– Timer(定时器) - 简书 (jianshu.com)

android - Flutter 返回上一页并刷新_个人文章 - SegmentFault 思否

(36条消息) Flutter 返回上一页并主动触发刷新_ 北岭有燕的博客-CSDN博客_flutter返回上个页面 同时刷新数据

Flutter TextField输入框如何优雅的禁止弹出软键盘 - 简书 (jianshu.com)

flutter 打包apk

flutter build apk

(31条消息) 用Flutter 写一个简单页面_360技术的博客-CSDN博客

flutter onPressed onTap等手势检测及触摸事件处理 - 高彰 - 博客园 (cnblogs.com)

3.5 输入框及表单 | 《Flutter实战·第二版》 (flutterchina.club)

(31条消息) flutter text设置文本对齐,文本大小,颜色,行数_xudailong_blog的博客-CSDN博客_flutter text 颜色

(31条消息) flutter的textField设置圆形边框并且改变边框颜色,如果不修改会显示主题颜色_matchaJay的博客-CSDN博客_flutter textfield 边框颜色

(31条消息) Flutter Text(Flutter文本显示和样式)_马志武的博客-CSDN博客_flutter text 样式

Flutter Widget 控件系列(10):下拉控件、弹出菜单 - 小专栏 (xiaozhuanlan.com)

如何在flutter中实现下拉列表? (qastack.cn)

flutter-插件-自定义下拉组件(flutter_custom_dropdown) - 简书 (jianshu.com)

Flutter从DropDropdownButton删除底部的下划线 - IT工具网 (coder.work)

flutter中如何disable文本输入框TextField?_flutter_码云网 (findsrc.com)

(31条消息) flutter 底部输入框被键盘遮挡问题_※ᝰ的博客-CSDN博客_flutter 底部输入框

(31条消息) Flutter基础之基本数据类型_generallizhong的博客-CSDN博客_flutter long类型

Flutter/Dart - 循环语句 forEach map where any every详解 - 简书 (jianshu.com)

flutter实现分割线的三种方法 - 腾讯云开发者社区-腾讯云 (tencent.com)

(31条消息) 【flutter】输入框控制输入类型和键盘、输入框抵住键盘、关闭键盘、强制横屏/竖屏_ivy_doudou的博客-CSDN博客_flutter 键盘类型


flutter 打包是出错Build failed due to use of deprecated Android v1 embedding.

可能是flutter版本设置对了,但是环境变量忘记换到最前面了,把flutter的环境变量的path弄到最前面,重新打开项目即可

(51条消息) Flutter打开新项目报错Build failed due to use of deprecated Android v1 embedding._没头脑&不高兴的博客-CSDN博客

(51条消息) Flutter 运行新项目时报错 Build failed due to use of deprecated Android v1 embedding.(已解决)_–程的博客-CSDN博客


flutter笔记(十)—–输入框TextField - 简书 (jianshu.com)

icon

(31条消息) Flutter之提示组件_roadkiller.的博客-CSDN博客_flutter 提示

iconfont-阿里巴巴矢量图标库

https://qa.1r1g.com/sf/ask/4096609891/(焦点监听,和输入框底下提示信息)

页面元素的最外层嵌套一层 SingleChildScrollView并将resizeToAvoidBottomInset设置为true:

child: Scaffold( appBar: AppBar(…), body: Container( child: SingleChildScrollView( child: body(…), ), ), resizeToAvoidBottomInset: true, ),

flutter表单

body: SingleChildScrollView(
physics: AlwaysScrollableScrollPhysics(),
child: Container(
height: screenSize.height-150,
width: screenSize.width,
decoration: new BoxDecoration(color: hex("#F4F4F4")),
child: buildDataList(context, screenSize)
),
),
Widget buildDataList(BuildContext context, Size screenSize) {
double width=screenSize.width/4;
return new Column(
children: <Widget>[
Container(
height: 40,
color: Colors.white,
padding: EdgeInsets.only(bottom: 5),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
padding: EdgeInsets.only(left: 5, top: 10),
width: width+10,
child: Text("检验项目", style: TextStyle(fontSize: 14,color: Color(0xff00d0b1)),),
),
Container(
padding: EdgeInsets.only(top: 10),
width: width+10,
child: Text("检验方法", style: TextStyle(fontSize: 14,color: Color(0xff00d0b1)),),
),
Container(
padding: EdgeInsets.only(top: 10),
width: width+10,
child: Text("检验结果", style: TextStyle(fontSize: 14,color: Color(0xff00d0b1)),),
),
Container(
padding: EdgeInsets.only(top: 10),
alignment: Alignment.center,
width: width-30,
child: Text("操作", style: TextStyle(fontSize: 14,color: Color(0xff00d0b1)),),
),
],
),
),
ARow(
height: 1,
color: hex("#535353"),
leftChild: Container(
color: hex("#535353"),
),
),
Container(
height: screenSize.height-195,
child: ListView.builder(
controller: _scrollController,
itemCount: this.listProcessQualityInspectionItem.length,
itemBuilder: (BuildContext context, int index) {
return Container(
margin: EdgeInsets.only(top: 2, bottom: 2),
alignment: Alignment.topLeft,
width: screenSize.width,
decoration: new BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.all(Radius.circular(5.0)),
),
child: Container(
decoration: new BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.all(Radius.circular(5.0)),
),
child: Column(
children: <Widget>[
Container(
padding: EdgeInsets.only(top: 10, bottom: 10),
child: Container(
alignment: Alignment.topLeft,
child: Row(
children: <Widget>[
Container(
alignment: Alignment.centerLeft,
width: width+10,
padding: EdgeInsets.only(left:5,top: 2),
child: Text(this.listProcessQualityInspectionItem[index].qualityInspectionItemName,
style: TextStyle(fontSize: 13,
color: Colors.black54),),
),
Container(
alignment: Alignment.centerLeft,
width: width+10,
padding: EdgeInsets.only(top: 2),
child: Text(this.listProcessQualityInspectionItem[index].inspectionMethod,
style: TextStyle(fontSize: 13,
color: Colors.black54),),
),
Container(
alignment: Alignment.center,
width: width + 10 ,
height: 35,
padding: EdgeInsets.only(top: 2),
child: TextField(
textAlign: TextAlign.left,
maxLines: 10,
controller: this.mapController[this.listProcessQualityInspectionItem[index].qualityInspectionItemName],
keyboardType: TextInputType.text,
decoration:new InputDecoration(
contentPadding: EdgeInsets.only(top: 0.0, right: 25),
enabledBorder: new UnderlineInputBorder( // 不是焦点的时候颜色
borderSide: BorderSide(
color: Color(0x19000000)
),
),
focusedBorder: new UnderlineInputBorder( // 焦点集中的时候颜色
borderSide: BorderSide(
color: Color(0x19000000)
),
),
hintStyle: TextStyle(
color: Colors.grey,
),
),
onChanged: (value){
this.listProcessQualityInspectionItem[index].inspectionResult = value;
},
),
),
InkWell(
onTap: () {
this.showAlertDialogMain(context,this.listProcessQualityInspectionItem[index]);
},
child: Container(
alignment: Alignment.center,
width: width-30,
padding: EdgeInsets.only(top: 2),
child: Text("查看",
style: TextStyle(fontSize: 13,
color: Color(0xff00d0b1)),),
),
)
],
),
)
),
ARow(
height: 1,
color: hex("#535353"),
leftChild: Container(
color: hex("#535353"),
),
),
],
),
),
);
}
),
)
],
);
}