Flutter 实际项目填坑记录

  Flutter是一个全新的跨平台开发的语言,我在实际项目开发中也有幸使用到 Flutter 进行完整开发,在这个开发过程中也是一步步的实验,在这其中也遇到了各种各样的坑, 网上通过各种谷歌,stackoverflow,Flutter官网等查资料,有些问题是解决,但还是有些问题不能及时解决,于是就自己慢慢的尝试着摸索除了一些解决方案,所以在这里就整理一下分享给大家,跟大家一起学习、讨论。

1、Waiting for another flutter command to release the startup lock...

问题描述

在项目中使用Flutter Packages get时或命令行执行flutter build 时 会 出现: Waiting for another flutter command to release the startup lock...

解决方案:

找到\bin\cache中的lockfile文件删除,如果还是不行则重启IDE重新试下。

2、The context used to push or pop routes from the Navigator must be that of a widget that is a descendant of a Navigator widget.

问题描述

在页面 initState、build、或者页面返回没办法直接使用 context 或 setState

解决办法

使用

Future.delayed(Duration.zero).then((e) {
      ....
    });

3、PageView保存状态报错

问题描述

Build functions must never return null. To return an empty space that causes the building widget to fill available room, return "new Container()". To return an empty space that takes as little room as possible, return "new Container(width: 0.0, height: 0.0)"

解决办法

在 build 方法必须加上super.build

 @override
  Widget build(BuildContext context) {
    super.build(context); //保存状态必须加上
    [...]
  }

4、EventManager使用问题

post                        : 发送消息
on                          : 监听消息
destroy                     : 销毁

问题描述

错误的使用destory 使得整个应用没办法监听消息

解决办法

在 BaseWidget 的 dispose不能 destory EventManager。EventManager是单例,基类取消就全部取消了。

5、IOS 调起相机/相册点击事件穿透

问题描述

在调起相机、相册选择图片时,点击相机区域、图片选择区域会响应下层 flutter 界面的点击事件

具体参与:https://github.com/flutter/flutter/issues/32896

解决办法

目前处理的办法是调起相机、相册时显示一个带蒙层的弹窗,收起相机、机册时取消蒙层弹窗。

6、官方 Webview_flutter 使用问题

问题描述

在 android 中输入框获焦点,点击两次会闪退。

在IOS需要 配置了io.flutter.embedded_views_preview属性,会导致键盘卡顿。

解决办法

待官方解决,暂时使用第三方flutter_webview_plugin 插件

7、flutter_webview_plugin 插件使用问题

问题描述

flutter_webview_plugin是调用原生 webview.并加到原生主页面上。所以该 webview 是最顶层的,无法在其上显示flutter的视图

解决办法

要显示弹窗等视图时先判断当前是否有webview页面,并且在进入webview页面时调用FlutterWebviewPlugin().show();退出 webviewd页面时调用FlutterWebviewPlugin().hide();

8、命名路由无法关闭指定页面

问题描述

flutter 关闭弹窗、页面都会都是调用 Navigator.pop(context, result),在这里没办法指定特定的页面路由或弹窗

解决办法

修改源码把底层的history释放出来,或者尽量避免这种需要关闭指定页面的做法。

9、点击控件区域没事件响应

问题描述

正确的设置了控件的点击事件,点击却没有反应

解决办法

  • 给控件设置背景
  • 设置behavior属性
return GestureDetector(
                    behavior: HitTestBehavior.translucent,
                    child: Text("测试${index}"),
                    onTap: () {},
                  );


enum HitTestBehavior {
  /// Targets that defer to their children receive events within their bounds
  /// only if one of their children is hit by the hit test.
  deferToChild, //只生效在child的区域比如文字

  /// Opaque targets can be hit by hit tests, causing them to both receive
  /// events within their bounds and prevent targets visually behind them from
  /// also receiving events.
  opaque,//GestureDetector的整个区域,不包括它下面的区域

  /// Translucent targets both receive events within their bounds and permit
  /// targets visually behind them to also receive events.
  translucent,// GestureDetector的整个区域以及它下面的区域
}

10、Appbar/Tabbar/的高度设置问题

问题描述

Appbar、Tabbar 默认有固定的高度,如何改变其高度

解决办法

使用PreferredSize。

最后

  如果在使用过程遇到问题,欢迎下方留言交流。

学习资料

请大家不吝点赞!因为您的点赞是对我最大的鼓励,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容