Flutter学习笔记与整合
1.Dart
面向对象语言,与java类比学习
非常适合移动和Web应用程序
1.dart官网
2.Dark2 中文文档
3.Dart语法学习
4.极客学院Dart学习
5.Flutter与Dart 入门
2.Flutter
树形布局,一切皆组件
1.flutter文档
2.社区中文资源
2.flutter中文文档(更新滞后)
3.flutter学习入门:
http://jspang.com/archives/
https://juejin.im/user/59ed44cf6fb9a0451c398c45/posts
4.flutter提升:
https://segmentfault.com/u/yuwanhenshu/articles?sort=created
flutter学习与爬坑:https://www.jianshu.com/nb/26101414
https://github.com/CarGuo/GSYGithubAppFlutter
3.爬坑
1.listview嵌套listview
子listview需要制定高度,使用 shrinkWrap: true 内容适配高度;
滑动类型设置: physics: new NeverScrollableScrollPhysics(), 禁止子模块列表滑动影响下拉刷新
https://blog.csdn.net/hao_m582/article/details/84112278#ListView_1
2.SimpleDialog
需要指定宽和高
3.验证码倒计时重发实现
使用dart的async包下的 Timer.periodic 实现
https://www.jianshu.com/p/f7a9b8c84d26
4.微信分享插件
先注册APPID
https://pub.dartlang.org/packages/sy_flutter_wechat
5.将图像保存到照片库
https://pub.dartlang.org/packages/image_picker_saver
6.屏幕溢出问题
水平溢出:
对于图片,动态的text数据,需要对container容器的宽度做计算约束,适配不同大小的手机
constraints: BoxConstraints(maxWidth: _descWidth),
获取屏幕宽度
MediaQuery.of(context).size.width
垂直溢出:
对于不是滑动页面会出现底部溢出,使用 SingleChildScrollView 包裹,使其滑动,避免垂直溢出
7.Dialogs, alerts
flutter中弹窗是相当于一个页面,一个新的context
8.页面传参
方式一:Navigator
flutter子父页面传参,相对前端而言很简单,因为dart是面相对象的语言,可以在导航中通过有参构造传参
使用Navigator组件,然后使用路由MaterialPageRoute传递参数
父》子, 子》父
final result = await Navigator.push(
context,
MaterialPageRoute(
builder: (context) => new OtherPage(param: param),
));
Navigator.pop(context,'$result'); //xxx就是返回的参数
方式二:事件监听传值
使用eventBus, import 'package:event_bus/event_bus.dart';
1创建事件
class OnTapEvent {
Map data;
OnTapEvent (this.data);
}
2发出事件 eventBus.fire(new OnTapEvent());
3监听事件
eventBus.on<OnTapReportEvent>()
.listen((OnTapEvent data) {
//TODO
});
9.移动平台中启动URL
打开默认浏览器,或跳转其他页面
https://pub.dartlang.org/packages/url_launcher#-readme-tab-
10.顶部,底部TabBar控件
https://juejin.im/post/5b685a2a5188251ac22b71c0
11.LocalStorage
持久化到手机
https://pub.dartlang.org/packages/shared_preferences
12.dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等...
https://github.com/flutterchina/dio/blob/flutter/README-ZH.md
13.升级flutter SDK
https://flutter.io/docs/development/tools/sdk/upgrading
Flutter学习笔记与整合的更多相关文章
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传
SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传 配置CKEDITOR 精简文件 解压之后可以看到ckeditor/lang下面有很多语言的js,如果不需要那么多种语言的,可 ...
- Flutter学习笔记(3)--Dart变量与基本数据类型
一.变量 在Dart里面,变量的声明使用var.Object或Dynamic关键字,如下所示: var name = ‘张三’: 在Dart语言里一切皆为对象,所以如果没有将变量初始化,那么它的默认值 ...
- Flutter学习笔记(4)--Dart函数
如需转载,请注明出处:Flutter学习笔记(4)--Dart函数 Dart是一个面向对象的语言,所以函数也是对象,函数属于Function对象,函数可以像参数一样传递给其他函数,这样便于做回调处理: ...
- Flutter学习笔记(5)--Dart运算符
如需转载,请注明出处:Flutter学习笔记(5)--Dart运算符 先给出一个Dart运算符表,接下来在逐个解释和使用.如下: 描述 ...
- Flutter学习笔记(6)--Dart异常处理
如需转载,请注明出处:Flutter学习笔记(6)--Dart异常处理 异常是表示发生了意外的错误,如果没有捕获异常,引发异常的隔离程序将被挂起,并且程序将被终止: Dart代码可以抛出并捕获异常,但 ...
- Flutter学习笔记(8)--Dart面向对象
如需转载,请注明出处:Flutter学习笔记(7)--Dart异常处理 Dart作为高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式,基于mixin的继承方式是指:一个类可以继承自多 ...
- Flutter学习笔记(9)--组件Widget
如需转载,请注明出处:Flutter学习笔记(9)--组件Widget 在Flutter中,所有的显示都是Widget,Widget是一切的基础,我们可以通过修改数据,再用setState设置数据(调 ...
- Flutter学习笔记(10)--容器组件、图片组件
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 上一篇Flutter学习笔记(9)--组件Widget我们说到了在Flutter中一个非常重要的理念"一切皆为组件 ...
- Flutter学习笔记(11)--文本组件、图标及按钮组件
如需转载,请注明出处:Flutter学习笔记(10)--容器组件.图片组件 文本组件 文本组件(text)负责显示文本和定义显示样式,下表为text常见属性 Text组件属性及描述 属性名 类型 默认 ...
随机推荐
- 【POJ2248】加法链 idfs
首先,在这道题的搜索框架中,在对每一位进行枚举时,复杂度为\(O(n^2)\),但是可知最优解序列的长度不会太长. 其次,采用 \(bool\) 类型返回值时,是一种存在性搜索,并不一定能够得到最优解 ...
- java:取屏幕大小(去掉任务栏的高度部分)
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Insets screenInsets = Toolkit.getD ...
- Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
使用Eclipse编辑jsp.js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲.将所有用过的方法罗列如下: 1.取消验证 windo ...
- hive hadoop 大数据初探
一.环境搭建: 1.安装虚拟机,mac 系统推荐parallels:直接转化讲师发的xmdl后缀名的文件:里面自带了环境: 注意事项:mac 本机和虚拟机中centos 的通讯,需要修改centos中 ...
- GO语言的进阶之路-go的程序结构以及包简介
GO语言的进阶之路-go的程序结构以及包简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.编辑,编译和运行 A,编辑 Go程序使用UTF-8编码的纯Unicode文本编写.大 ...
- .net MVC使用NPOI读取Excel模板,再写入数据
NPOI其实已经介绍的差不多了,再贴一个方便以后复制粘贴. 亮点其实是 Server.MapPath 这个东西,可以找到MVC工程下的文件夹,找路径还是很方便的. /// <summary> ...
- python---wsgiref初探
wsgiref使用 from wsgiref.simple_server import make_server from urls import URLS def RunServer(environ, ...
- 转 -- Python: 多继承模式下 MRO(Method Resolution Order) 的计算方式关乎super
大家可能已经知道了,在 Python 3(Python 2 的新式类)中多继承模式是使用 C3 算法来确定 MRO(Method Resolution Order) 的. 那么具体是怎么计算的呢?本文 ...
- 关于Meta标签的一些知识
1.定义文档的编码格式(H5的标准写法) <meta charset="UTF-8"> 2.声明指定的浏览器以及版本 <meta http-equiv=" ...
- python学习笔记8-邮件模块
我们在开发程序的时候,有时候需要开发一些自动化的任务,执行完之后,将结果自动的发送一份邮件,python发送邮件使用smtplib模块,是一个标准包,直接import导入使用即可,代码如下: impo ...