Flutter學習筆記與整合

1.Dart

  面嚮對象語言,與java類比學習前端

  很是適合移動和Web應用程序java

  1.dart官網

  2.Dark2 中文文檔

  3.Dart語法學習

  4.極客學院Dart學習

  5.Flutter與Dart 入門

2.Flutter

  樹形佈局,一切皆組件git

  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 內容適配高度;github

    滑動類型設置:  physics: new NeverScrollableScrollPhysics(), 禁止子模塊列表滑動影響下拉刷新segmentfault

    http://www.javashuo.com/article/p-qzqkmmwr-my.html瀏覽器

  2.SimpleDialog

    須要指定寬和高微信

  3.驗證碼倒計時重發實現

    使用dart的async包下的 Timer.periodic 實現jsp

    https://www.jianshu.com/p/f7a9b8c84d26async

  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控件

    http://www.javashuo.com/article/p-rjkojdzm-cz.html

  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

相關文章
相關標籤/搜索