自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老孟Flutter

出版《Flutter 实战入门》一书,专注分享Flutter原理及实践应用,个人博客地址:http://laomengit.com

  • 博客(360)
  • 资源 (2)
  • 收藏
  • 关注

原创 【老孟Flutter】2021 年 Flutter 官方路线图

老孟导读:这是官方公布的2021年路线图,向我们展示了2021年 Flutter 的主要工作及计划。原文地址:https://github.com/flutter/flutter/wiki/Roadmap。Null safetyFlutter 将支持 Dart 的 sound null safety(空安全),并将插件和软件包生态系统的迁移扩展到支持空安全,包括Flutter团队直接维护的软件包和插件。在此过程中,Flutter 团队计划提供迁移工具,示例和文档,以帮助迁移现有代码。Null.

2021-01-14 22:17:48 1753 2

原创 【Flutter Widgets大全】电子书开源

【Flutter Widgets大全】是老孟耗费大量精力整理的,总共有330多个组件的详细用法,开源到Github上,希望可以帮助到大家,开源不易,点个赞可不可以????。【Flutter Widgets 大全】 为 Flutter 老孟 网站项目,共收录 330 多个 Widgets,此电子书并不适合入门(一个一个组件学习),适合当作手册,需要的时候进行查阅。为了方便对比学习,我将相近或相反功能的组件整理到一个文件中,比如所有的 Button 类组件、弹出类组件等。如果想系统的学习入门知识,请到

2020-10-11 20:18:15 2157 3

原创 2020年20个Flutter最漂亮的UI库和项目

Best-Flutter-UI-Templates地址:https://github.com/mitesh77/Best-Flutter-UI-TemplatesThe History of Everything地址:https://github.com/2d-inc/HistoryOfEverythingflame一款简约的Flutter游戏引擎。地址:https://github.com/flame-engine/flameflutter_swiper地址:https://g.

2020-07-20 08:11:03 22200 13

原创 【Flutter】仿 Element 样式 Progress 进度条

先看下整体效果依赖在 pubspec.yaml 中依赖ele_progress:^version最新版本号在 pub 中查看:ele_progress 地址:https://pub.dev/packages/ele_progress导入import 'package:ele_progress/ele_progress.dart';主题全局设置 ele_progress 的样式需要使用 EleTheme,代码如下:@overrideWidget build(BuildCo

2021-11-20 11:15:46 3544 1

翻译 【老孟Flutter】Flutter 2的新功能

老孟导读:昨天期待已久的 Flutter 2.0 终于发布了, Flutter Web和Null安全性趋于稳定,Flutter桌面安全性逐渐转向Beta版!原文链接:https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65今天,我们很高兴地宣布Flutter 2的发布。距离Flutter 1.0的发布已经两年多了,但是在很短的时间内,我们已经关闭了24,541期,并合并了765个贡献者的17,039个PR。自9月Flutter ..

2021-03-07 22:55:48 1429

翻译 【老孟Flutter】Flutter 2.0 重磅更新

老孟导读:昨天期待已久的 Flutter 2.0 终于发布了,Web 端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是 Web 正式发布,已经实现了,还有一个预测是:2021年将是 Flutter 大跃进的一年,等今年你年底总结的时候,让我们在来验证下这个预测是否应验。后面几天会陆续发布 Flutter 2.0 更新更加详细的内容更新,敬请关注。下面就让我们看看 Flutter 2.0 都有哪些重磅更新,原文链接:https://developers.googleblog.com/2021..

2021-03-04 23:17:18 4280 3

原创 Flutter 中不得不会的 mixin

mixin 是 Dart 中非常重要的概念,对于未接触过此概念的Coder来说尤其重要,最近看源码的时候,由于对 mixin 不熟悉导致理解出现偏差,走了很多弯路,所以这篇文章介绍一下 mixin 概念。Dart 及 Engine 版本:Engine • revision ae90085a84Tools • Dart 2.10.4请注意版本,不同的版本可能存在差异。先来看下官方的定义:Mixins are a way of reusing a class’s code in multip.

2021-02-22 21:40:10 2863 3

原创 【老孟Flutter】如何提高Flutter应用程序的性能

首先 Flutter 是一个非常高性能的框架,因此大多时候不需要开发者做出特殊的处理,只需要避免常见的性能问题即可获得高性能的应用程序。重建最小化原则在调用 setState() 方法重建组件时,一定要最小化重建组件,没有变化的组件不要重建,看下面的Demo,这是一个设置页面,import 'package:flutter/material.dart';class SettingDemo extends StatefulWidget { @override _Settin.

2021-01-21 07:29:06 705

原创 【老孟Flutter】源码分析系列之InheritedWidget

老孟导读:这是2021年源码系列的第一篇文章,其实源码系列的文章不是特别受欢迎,一个原因是原理性的知识非常枯燥,我自己看源码的时候特别有感触,二是想把源码分析讲的通俗易懂非常困难,自己明白 和 让别人听懂完全是两回事。不过我依然会坚持 Flutter 源码系列的文章,提高自己的技术水平的同时,也希望大家收获一些知识。为了使源码系列的文章不那么枯燥,文章中会有很多流程图,流程图比纯文字更直观,一图胜千言。我也是第一次写源码系列的文章,如果文章哪里有不对的地方请告诉我,虽然我也不一定听????,开个玩笑。

2021-01-19 22:01:22 676 2

原创 【老孟Flutter】为什么 build 方法放在 State 中而不是在 StatefulWidget 中

老孟导读:此篇文章是生命周期相关文章的番外篇,在查看源码的过程中发现了这一有趣的问题,欢迎大家一起探讨。Flutter 中Stateful 组件的生命周期:http://laomengit.com/blog/20201227/Stateful%E7%BB%84%E4%BB%B6%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F.htmlFlutter 中与平台相关的生命周期:http://laomengit.com/blog/20201227/%E7%9B%B8%E5%85%B..

2021-01-13 21:38:48 417

原创 【老孟Flutter】Flutter 中与平台相关的生命周期

老孟导读:关于生命周期的文章共有2篇,一篇(此篇)是介绍 Flutter 中Stateful 组件的生命周期。第二篇是 Flutter 中与平台相关的生命周期,博客地址:http://laomengit.com/blog/20201227/%E7%9B%B8%E5%85%B3%E5%B9%B3%E5%8F%B0%E7%9A%84%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F.html博客中还有更多精彩文章,也欢迎加入 Flutter 交流群。此篇文章所说的生命周期与 ..

2021-01-05 21:42:58 467

原创 【老孟Flutter】Stateful 组件的生命周期​

老孟导读:关于生命周期的文章共有2篇,第一篇是介绍 Flutter 中Stateful 组件的生命周期。博客地址:http://laomengit.com/blog/20201227/Stateful%E7%BB%84%E4%BB%B6%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F.html第二篇是 Flutter 中与平台相关的生命周期,博客地址:http://laomengit.com/blog/20201227/%E7%9B%B8%E5%85%B3%E5%B9%B3..

2020-12-29 22:09:33 457

原创 【老孟Flutter】2020年总结

2020年是我经历的最不平凡的一年,这一年有遗憾、有收获,有感概,也有庆幸,庆幸自己还活着。用一句话总结自己的2020,忙并收获着,累并快乐着。《Flutter 实战入门》《Flutter 实战入门》是我第一本出版的书籍,今年6月上线。此书耗费了极大的精力,当然对自己的提高也是非常大的。此书上架2个月后,由于对 Flutter 的了解更加深入了,觉得其中有很多写的不是很好的地方,于是开始了重写之路,目前整个系列已经重写完成,共16个章节。全部分享到了个人博客:http://laomengit..

2020-12-28 14:36:16 1644

原创 【老孟Flutter】41个酷炫的 Loading 组件库

老孟导读:目前 loading 库中包含41个动画组件,还会继续添加,同时也欢迎大家提交自己的 loading 动画组件或者直接微信发给我也可以。Github 地址:https://github.com/781238222/flutter-do/tree/master/m_loading_sample效果如下:在项目的 pubspec.yaml 文件中添加依赖:dependencies: m_loading: ^0.0.1执行命令:flutter pub get所有 loading..

2020-12-07 21:48:52 1385

原创 【Flutter 实战】酷炫的开关动画效果

此动画效果是我在浏览文章时发现的一个非常酷炫的效果,于是就使用 Flutter 实现了。更多动画效果及Flutter资源:https://github.com/781238222/flutter-do添加依赖在项目的 pubspec.yaml 文件中添加依赖:dependencies: wheel_switch: ^0.0.1执行命令:flutter pub get使用WheelSwitch( value: false,)组件默认的宽高分别是80、30,也可以指定宽..

2020-11-27 06:41:01 692

原创 【老孟Flutter】自定义文本步进组件

老孟导读:此文介绍一个自定义组件,欢迎大家到 Github 上给个小星星,Github 还有很多我整理的 Flutter 资源。WriteText 组件是一个文本步进组件,即字符一个一个显示,就像手写一样。pub 地址:https://pub.dev/packages/write_textGithub 地址:https://github.com/781238222/flutter-do/tree/master/write_text引入软件包在 pubspec.yaml 中添加如下依赖..

2020-11-24 22:09:27 506

原创 【老孟Flutter】6种极大提升Flutter开发效率的工具包

老孟导读:本文介绍6种极大提升Flutter开发效率的工具包。[1] 强大的日志软件包在开发 Flutter 的过程中打印日志是常用的调试方式之一,但 Flutter 内置的日志打印非常简单,下面介绍一个强大的软件包:logger。Logger 是一款易于使用且可扩展的日志记录器,可打印精美的日志。 受到Android记录器的启发,将日志分为不同的级别:logger.v("Verbose log");logger.d("Debug log");l..

2020-11-11 21:43:42 1191

原创 【Flutter 实战】pubspec.yaml 配置文件详解

老孟导读:pubspec.yaml 文件是 Flutter 中非常重要的配置文件,下面就让我们看看里面各个配置的含义。pubspec.yaml 是 Flutter 项目的配置文件,类似于 Android 中的 Gradle 配置文件,下面我们就看看 pubspec.yaml 中各个属性的配置。创建一个新的项目(Flutter Application),pubspec.yaml 位于根目录,如图:项目中默认配置,去掉注释部分,剩下如下:name: flutter_appdescription..

2020-11-04 21:44:44 7304 2

原创 Flutter 1.22版本新增的Button

Flutter 1.22版本新增了3个按钮,TextButton、OutlinedButton、ElevatedButton,虽然以前的Button没有被废弃,但还是建议使用新的Button。为什么会新增 Button?因为想要将以前的按钮调整为统一的外观比较麻烦,因此以前经常使用自定义的按钮,而新增的按钮解决了此类问题,可以非常方便的设置整体外观。1.22版本前的按钮主题1.22版本后的按钮主题FlatButtonButtonThemeTextButtonTextBut..

2020-11-03 21:56:40 4871

原创 【Flutter 混合开发】添加 Flutter 到 iOS

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。Flutter 可以作为 frameworks 添加到 iOS 项目,i..

2020-11-02 22:34:14 639

原创 【Flutter 混合开发】添加 Flutter 到 Android Fragment

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。使用新引擎创建 FlutterFragment添加 Flutter 到..

2020-10-29 22:18:11 971

原创 【Flutter 混合开发】添加 Flutter 到 Android Activity

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。创建 Flutter ModuleFlutter可以以源代码或AAR的..

2020-10-27 21:57:20 1784 1

原创 【Flutter 混合开发】与原生通信-EventChannel

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。EventChannelFlutter 端Flutter 端创建 E..

2020-10-26 22:44:56 708

原创 【Flutter 面试】main入口函数会被调用几次

老孟导读:这是一个读者面试时被问到的问题,这个问题前段时间我也在VIP交流群和大家一起探讨过。这个问题涉及引擎的相关知识,如果不了解相关知识,很难回答正确,因为不管说调用几次都是错误的,下面来看一下引擎的相关知识。创建一个 Flutter 项目,然后运行,main入口函数 只会执行一次,下面修改项目的 MainActivity ,class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bund..

2020-10-25 22:12:00 1298

原创 【Flutter 混合开发】与原生通信-BasicMessageChannel

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。平台通信的3中方式Flutter 与 Native 端通信有如下3个方..

2020-10-22 07:00:03 547 1

原创 【Flutter 混合开发】与原生通信-MethodChannel

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。平台通信的3中方式Flutter 与 Native 端通信有如下3个方..

2020-10-20 08:09:11 2174

原创 【Flutter 混合开发】嵌入原生View-iOS

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-iOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。iOS View建议使用 Xcode 进行开发,在 Android S..

2020-10-18 21:38:30 931

原创 【Flutter 混合开发】嵌入原生View-Android

Flutter 混合开发系列 包含如下:嵌入原生View-Android嵌入原生View-IOS与原生通信-MethodChannel与原生通信-BasicMessageChannel与原生通信-EventChannel添加 Flutter 到 Android Activity添加 Flutter 到 Android Fragment添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。AndroidView建议使用 Android Studio 进行开发..

2020-10-14 06:45:07 3513 6

原创 Flutter 1.22 正式发布

支持iOS 14和Android 11,新的i18n和l10n支持,可用于生产的Google Maps和WebView插件,新的App Size工具等等!作者:Chris Sells原文:https://medium.com/flutter/announcing-flutter-1-22-44f146009e5f我们很高兴推出最新版本的Flutter,它广泛支持iOS 14和Android11。Flutter 1.22在以前版本的基础上构建,使开发人员能够从一个代码库为多个平台构建快速,美观的用..

2020-10-09 21:49:38 13151 26

原创 使用Flutter完成10个商业项目后的经验教训

作者:Łukasz Kosman 和 Jakub Wojtczak原文:https://medium.com/swlh/lessons-learned-after-making-the-first-10-commercial-apps-in-flutter-f420808048cd在过去的24个月中,我们花费 17.193,00 个小时使用 Flutter 完成了10个商业应用程序,本文将分享我们的见解。阅读本文后,您将学习到:选择Flutter的原因是什么? Flutter对预算和稳定性有..

2020-09-27 07:34:36 1421 2

原创 谷歌发布Flutter Alpha:支持Windows

老孟导读:Windows来了,Mac、Linux、Web还远吗?本文翻译自https://medium.com/flutter/announcing-flutter-windows-alpha-33982cd0f433我们的使命是为开发人员提供一个开源,高生产率的框架,以便在任何平台上构建漂亮的本机应用程序。到目前为止,我们已经为Android和iOS提供了正式版本(stable releases),仅Google Play商店就提供了8个稳定版本和100,000多个应用。我们将继续扩大关注范围,..

2020-09-24 20:39:34 5409 4

原创 【Flutter 实战】大量复杂数据持久化

老孟导读:上一篇文章讲解了 Android 和 iOS 的文件目录系统,此篇文章讲解如何使用 SQLite 保存数据。欢迎大家投稿:http://laomengit.com/plan/Contribution.html 保存数据到本地是应用程序非常重要的功能之一,比如如下场景:一个新闻类或者博客类的应用程序,打开后进入首页,如果本地没有保存数据,则需要通过网络获取数据,在返回数据之前,用户看到的是空白页面,而如果本地保存了部分新闻,则显示这部分数据,等待最新的数据返回时在刷新即可,对用户体验来说,..

2020-09-24 20:04:24 1277 2

原创 【Flutter 实战】文件系统目录

老孟导读:Flutter 中获取文件路径,我们都知道使用 path_provider,但对其目录对含义不是很清楚,此文介绍 Android、iOS 系统的文件目录,不同场景下建议使用的目录。不同的平台对应的文件系统是不同的,比如文件路径,因此 Flutter 中获取文件路径需要原生支持,原生端通过 MethodChannel 传递文件路径到 Flutter,如果没有特殊的需求,推荐大家使用 Google 官方维护的插件 path_provider。pub 地址:https://pub.flutt..

2020-09-18 06:49:28 5046 2

原创 全局监听路由堆栈变化

老孟导读:很多时候我们需要监听路由堆栈的变化,这样可以自定义路由堆栈、方便分析异常日志等。监听路由堆栈的变化使用 RouteObserver ,首先在 MaterialApp 组件中添加 navigatorObservers:void main() { runApp(MyApp());}RouteObserver<PageRoute> routeObserver = RouteObserver<PageRoute>();class MyApp extends ..

2020-09-17 07:16:01 766

原创 【Flutter 实战】路由堆栈详解

老孟导读:Flutter中路由是非常重要的部分,任何一个应用程序都离不开路由管理,此文讲解路由相关方法的使用和路由堆栈的变化。Flutter 路由管理中有两个非常重要的概念:Route:路由是应用程序页面的抽象,对应 Android 中 Activity 和 iOS 中的 ViewController,由 Navigator 管理。Navigator:Navigator 是一个组件,管理和维护一个基于堆栈的历史记录,通过 push 和 pop 进行页面的跳转。push 和 pop假设现在..

2020-09-16 07:34:51 1094

原创 【Flutter 实战】菜单(Menu)功能

老孟导读:今天介绍下Flutter中的菜单功能。PopupMenuButton使用PopupMenuButton,点击时弹出菜单,用法如下:PopupMenuButton<String>( itemBuilder: (context) { return <PopupMenuEntry<String>>[ PopupMenuItem<String>( value: '语文', ch.

2020-09-14 07:08:47 1885 1

原创 【Flutter 实战】1.20版本更新及新增组件

老孟导读:Flutter 1.20 更新了 Slider、RangeSlider、日期选择器组件、时间选择器组件的样式,新增了交换组件:InteractiveViewer,下面详细介绍其用法。滑块Flutter 1.20 版本将 Slider 和 RangeSlider 小部件更新为最新的 Material 准则。新的滑块在设计时考虑到了更好的可访问性:轨道更高,滑块带有阴影,并且值指示器具有新的形状和改进的文本缩放支持。Slider基础用法:class SliderDemo extends..

2020-09-11 07:07:43 1814 2

原创 【Flutter 实战】各种各样形状的组件

老孟导读:Flutter中很多组件都有一个叫做shape的属性,类型是ShapeBorder,比如Button类、Card等组件,shape表示控件的形状,系统已经为我们提供了很多形状,对于没有此属性的组件,可以使用 Clip 类组件进行裁减。BeveledRectangleBorder斜角矩形边框,用法如下:RaisedButton( shape: BeveledRectangleBorder( side: BorderSide(width: 1, color: Colors...

2020-09-09 07:10:43 2013 1

原创 我对Flutter的第一次失望

老孟导读:此文翻译自:https://medium.com/@suragch/my-first-disappointment-with-flutter-5f6967ba78bf我喜欢Flutter。我喜欢开发一次并让代码在Android和iOS上运行。我喜欢节省多少时间。我喜欢现在成为一名Web开发人员,而无需做任何额外的工作。我喜欢hot reload。我喜欢通过将小部件组合到布局中来快速构建UI。我喜欢制作ListView简单得多。我喜欢状态管理。 (好吧,只是在开玩笑。但是我可以应付。)我喜欢..

2020-09-04 07:30:32 3149 3

原创 【Flutter 实战】全局点击空白处隐藏键盘

老孟导读:为什么要实现点击空白处隐藏键盘?因为这是 iOS 平台的默认行为,Android 平台由于其弹出的键盘右上角默认带有关闭键盘的按钮,所以点击空白处不会隐藏键盘。对于单个页面来说,通过为 TextField 添加 focusNode,点击空白处时使 TextField 失去焦点,实现如下:class DismissKeyboardDemo extends StatelessWidget { final FocusNode focusNode = FocusNode(); @ove..

2020-09-03 07:37:12 3684 1

react-native 相册(全选、删除、分享)

这个项目实现了本地图片、视频的展示,图片、视频的全选、删除功能

2017-07-07

RN与android混合开发及RN调用原生方法

RN与android混合开发及RN调用原生方法

2017-04-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除