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() .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://www.cnblogs.com/soul-wonder/p/10219969.html