博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flutter学习笔记与整合
阅读量:4686 次
发布时间:2019-06-09

本文共 1646 字,大约阅读时间需要 5 分钟。

1.Dart

  面向对象语言,与java类比学习

  非常适合移动和Web应用程序

  

  

  

  

  

2.Flutter

  树形布局,一切皆组件

  

  

  

  3.flutter学习入门:

    

    

  4.flutter提升:

    

    flutter学习与爬坑:

    

 3.爬坑

  1.listview嵌套listview

    子listview需要制定高度,使用 shrinkWrap: true 内容适配高度;

    滑动类型设置:  physics: new NeverScrollableScrollPhysics(), 禁止子模块列表滑动影响下拉刷新

    

  2.SimpleDialog

    需要指定宽和高

  3.验证码倒计时重发实现

    使用dart的async包下的 Timer.periodic 实现

    

  4.微信分享插件

    先注册APPID

    

  5.将图像保存到照片库

    

  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

    打开默认浏览器,或跳转其他页面

    

  10.顶部,底部TabBar控件

    

  11.LocalStorage

    持久化到手机

    

  12.dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时等...

    

  13.升级flutter SDK

    

转载于:https://www.cnblogs.com/soul-wonder/p/10219969.html

你可能感兴趣的文章
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>
windows live writer 2012 0x80070643
查看>>
C程序的启动和终止
查看>>
asp.net web 定时执行任务
查看>>
tomcat 和MySQL的安装
查看>>
11.5 内部类
查看>>
Cosine Similarity
查看>>
浅谈JAVA集合框架
查看>>
halt和shutdown 的区别
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
render()方法是render_to_response
查看>>
u-boot启动第一阶段
查看>>
北京大学2019年数学分析考研试题
查看>>
MySQL批量SQL插入性能优化
查看>>
定义列属性:null,default,PK,auto_increment
查看>>
用户画像展示
查看>>
pyqt pyinstaller使用说明
查看>>
C#中StreamReader读取中文出现乱码
查看>>