老孟导读:Flutter组件有一个很大的特色,那就是很多复杂的组件都是通过一个一个小组件拼装而成的,今天就来说说系统的ExpansionPanelList是如何实现的. 在了解ExpansionPanelList实现前,先来了解下MergeableMaterial,它展示多个MergeableMaterialItem组件,当子组件发生变化时,以动画的方式打开或者关闭子组件,MergeableMaterial的父控件需要在主轴方向是一个没有限制的控件,比如SingleChildScrollView…
1. 引言 最近在做性能优化的时候发现,在混合栈开发中,第一次启动Flutter页面的耗时总会是第二次启动Flutter页面耗时的两倍左右,这样给人感觉很不好.分析发现第一次启动Flutter页面会做一些初始化工作,借此,我梳理了下Flutter的初始化流程. 2. Flutter初始化时序 Flutter初始化主要分四部分,FlutterMain初始化.FlutterNativeView初始化.FlutterView初始化和Flutter Bundle初始化.我们先看下Flutter初始化的时…
Flutter 学习路线图 如果你真的觉得很难,坚持不了了,那就放弃,既然放弃了就不要抱怨没有得到. 选择你热爱的,坚持你选择的,不抱怨放弃的. 前言 Flutter越来越火,学习Flutter的人越来越多,对于刚接触Flutter的人来说最重要的是如何学习Flutter,重点学习Flutter的哪些内容.下面是Flutter的学习路线图,学会这些你就入门了,当然这仅仅是初学者的学习路线图,前路漫漫. 了解Flutter 这是一个非常虚的概念,也不必花费非常多的时间去专门了解,只需在搜索引擎上搜…
Flutter系统提供了一些日期选择类组件,比如DayPicker.MonthPicker.YearPicker.showDatePicker.CupertinoDatePicker等,其中前4个为Material风格组件,最后一个为iOS风格组件.本文介绍了控件的基本用法及如何实现国际化,如果系统提供的国际化不满足你的需要,最后也介绍了如何实现自定义国际化. DayPicker 显示给定月份的日期,并允许选择一天.这些天以矩形网格排列,一周的每一天都有一列. DayPicker有几个必填参数,…
老孟导读:动画系统是任何一个UI框架的核心功能,也是开发者学习一个UI框架的重中之重,同时也是比较难掌握的一部分,下面我们就一层一层的揭开 Flutter 动画的面纱. 任何程序的动画原理都是一样的,即:视觉暂留,视觉暂留又叫视觉暂停,人眼在观察景物时,光信号传入大脑神经,需经过一段短暂的时间,光的作用结束后,视觉形象并不立即消失,这种残留的视觉称"后像",视觉的这一现象则被称为"视觉暂留". 人眼能保留0.1-0.4秒左右的图像,所以在 1 秒内看到连续的25张图…
老孟导读:此篇文章是 Flutter 动画系列文章第三篇,后续还有动画序列.过度动画.转场动画.自定义动画等. Flutter 系统提供了20多个动画组件,只要你把前面[动画核心](文末有链接)的文章看明白了,这些组件对你来说是非常轻松的,这些组件大部分都是对常用操作的封装. 显示动画组件 回顾上一篇[动画核心]的文章中创建动画三个必须的步骤: 创建 AnimationController. 监听 AnimationController,调用 setState 刷新UI. 释放 Animatio…
老孟导读:上一篇文章讲解了 Android 和 iOS 的文件目录系统,此篇文章讲解如何使用 SQLite 保存数据. 欢迎大家投稿:http://laomengit.com/plan/Contribution.html 保存数据到本地是应用程序非常重要的功能之一,比如如下场景:一个新闻类或者博客类的应用程序,打开后进入首页,如果本地没有保存数据,则需要通过网络获取数据,在返回数据之前,用户看到的是空白页面,而如果本地保存了部分新闻,则显示这部分数据,等待最新的数据返回时在刷新即可,对用户体验来…
江苏省会议中心 南京·钟山宾馆(2012年4月21-22日) 以"突破与提升"为主题的"2012高校GIS论坛"将于4月在南京举行,由南京大学和工程中心共同承办.高校GIS论坛每两年举办一次,已在北京九华山庄成功举办三届,现已发展成为国内高校GIS教育界最有权威,最具影响力的高端论坛. 赛迪网直播小组正在现场进行图文.微博直播——2012高校GIS论坛! 主持人:尊敬的李院长.曹省长.陈校长,“突破与提升2012高校GIS论坛”现在开幕!首先请允许我介绍出席今天开幕…
一.系统环境 flutter最低要求 1,windows7 SP1 64位版本以上,我的系统就是windows 7 sp1 64bit 2,git for windows ,没有安装的需要到这里下载 并安装 3,powershell 5.0及以上,这个据说只有windows10和2016版windows server满足要求 window7 sp1以及自带Powershell,但是版本较低,我的系统中版本居然是2.0 启动:系统左下角-开始-点击搜索框-输入powershell-回车键 在pow…
import 'package:flutter/material.dart'; class LearnExpansionPanelList extends StatefulWidget{ @override State<StatefulWidget> createState() { return new _LearnExpansionPanelList(); } } class _LearnExpansionPanelList extends State<LearnExpansionPa…
我们可以看到,无论是Android SDK还是iOS的UIKit 的职责都是相同的,它们只是语言载体和底层的系统不同而已.那么可不可以实现这么一个UI系统:可以使用同一种编程语言开发,然后针对不同操作系统API抽象一个对上接口一致,对下适配不同操作系统的的中间层,然后在打包编译时再使用相应的中间层代码?如果可以做到,那么我们就可以使用同一套代码编写跨平台的应用了.而Flutter的原理正是如此,它提供了一套Dart API,然后在底层通过OpenGL这种跨平台的绘制库(内部会调用操作系统API)…
四.Radio.RadioListTile单选按钮组件 Radio常用属性: value单选的值. onChanged改变时触发. activeColor:选中的颜色.背景颜色 groupValue:选择组的值. RadioListTile:常用属性: value:true或者false onChanged:改变的时候触发的事件. activeColor:选中的颜色.背景颜色 title:标题 subtitle:二级标题 secondary:配置图标或者图片 groupValue:选择租的值.…
mac系统 安装flutter 分三步: 1. 安装flutter sdk 2. flutter环境变量配置 3. 建立flutter应用 Flutter SDK下载 打开终端执行命令 git clone -b beta https://github.com/flutter/flutter.git 下载flutter SDK mac系统,Futter SDK下载完成后默认路径是:Users/xxxxx/flutter,比如我的是 Users/wujian/flutter,这个也是flutter…
搭建Flutter之前需要已经安装好相应的Flutter开发环境,如果没安装好相应环境的可以查看在windows系统搭建Flutter开发环境 搭建Flutter项目可以通过命令行搭建,或者通过android studio用可视化方法搭建 先看一下通过Android studio搭建 打开Android studio之后点击 file>new>new flutter project 然后选择第一个next 然后填写项目相关信息next,进入设置包名页面后点击finish即可 搭建好之后打开模拟…
开发环境搭建(Windows) 系统要求 设置FLutter镜像(非必须) 获取Flutter SDK Android开发环境设置 安装Flutter插件 系统要求 在Windows上要安装并运行Flutter要满足以下最低要求: 操作系统: Windows 7 SP1或更新版本 磁盘空间: 400 MB (Android Studio的磁盘空间). 工具: Flutter 依赖下面这些命令行工具: Windows PowerShell 5.0 Windows 10已经预装了这个工具: Git…
flutter学习网址:https://flutter-io.cn/ -------------------------------------------------------------------本人是学习flutter的菜鸟一枚,此文仅记录自己的学习过程.----------------------------------------------------------------------------------------- 一.前提准备:先废话哈,我是安卓狗一枚,所以学习flu…
1.简介 Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面.Flutter应用程序是用Dart编写的,这是一种由Google在7年多前创建的语言.Flutter是Google使用Dart语言开发的移动应用开发框架,使用一套Dart代码就能快速构建高性能.高保真的iOS和Android应用程序. HTTP应用层的抓包已经成为日常工作测试与调试中的重要一环,最近接触新项目突然之间发现之前的抓包手段都不好使了,顿时模块与模块之间的前端与服务之间的交互都变成…
import 'package:flutter/services.dart'; /// 关闭 SystemChrome.setEnabledSystemUIOverlays([]); /// 显示 SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);…
文档 dependencies: provider: import 'package:dart_printf/dart_printf.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; class Counter with ChangeNotifier { Counter() { printf('init'); } int _n = 0; int get n => _n;…
首先你需要在"MaterialApp"设置两套theme MaterialApp( theme: myTheme, // light darkTheme: ThemeData.dark(), // dark ); 在widget中你需要这样判断 final isDark = MediaQuery.of(context).platformBrightness == Brightness.dark;…
[Flutter Widgets大全]是老孟耗费大量精力整理的,总共有330多个组件的详细用法,开源到Github上,希望可以帮助到大家,开源不易,点个赞可不可以. [Flutter Widgets 大全] 为 Flutter 老孟 网站项目,共收录 330 多个 Widgets,此电子书并不适合入门(一个一个组件学习),适合当作手册,需要的时候进行查阅. 为了方便对比学习,我将相近或相反功能的组件整理到一个文件中,比如所有的 Button 类组件.弹出类组件等. 如果想系统的学习入门知识,请到…
google 最新os 下载 https://github.com/fuchsia-mirror/magenta 本文转自:http://www.oschina.net/news/76094/google-fuchsia Google 的 Git 源码库出现了一种新的操作系统叫 Fuchsia,目前有关新操作系统的信息很少,根据源码树:它使用的不是 Linux 内核而是叫 Magenta 的新内核:它的UI层使用的是 Dart 语言开发的 Flutter:渲染器是 Escher:应用程序框架 M…
准备阶段 下载 Flutter SDK 新建 Flutter 文件夹,克隆 Flutter SDK: git clone -b beta https://github.com/flutter/flutter.git 配置 Flutter 环境 我是 Mac 系统,Flutter SDK 下载完后的路径:Users/wuxiaolong/Flutter/flutter/ . 在命令行下,进入用户目录 cd $HOME 打开.bash_profile文件 执行命令打开文件: open -e .bas…
博客搬迁至http://blog.wangjiegulu.com RSS订阅:http://blog.wangjiegulu.com/feed.xml 以下代码 Github 地址:https://github.com/wangjiegulu/flutter_test_01 编写你的第一个Flutter App 原文:https://flutter.io/get-started/codelab/ 这个你创建第一个Flutter app的指南.如果你熟悉面向对象的代码,基本的编程概念,比如变量,循…
一直以来,跨平台开发都是困扰移动客户端开发的难题. 在马蜂窝旅游 App 很多业务场景里,我们尝试过一些主流的跨平台开发解决方案, 比如 WebView 和 React Native,来提升开发效率和用户体验.但这两种方式也带来了新的问题. 比如使用 WebView 跨平台方式,优点确实非常明显.基于 WebView 的框架集成了当下 Web 开发的诸多优势:丰富的控件库.动态化.良好的技术社区.测试自动化等等.但是缺点也同样明显:渲染效率和 JavaScript 的执行能力都比较差,使页面的加…
前言 上一篇文章我们搭建好了 Flutter 的开发环境. Flutter 即学即用--01 环境搭建 这一篇我们通过 Flutter 的一个 Demo 来了解下 Flutter. 开发系统:MAC IDE:Android Studio 目录 1. 创建一个 Flutter 项目 第一步:主界面点击创建 Flutter 项目 第一步:如果已经打开项目,则通过 File->New->New Flutter Project... 创建 第二步:默认选择 Flutter Application 即可…
前言 工欲善其事,必先利其器 所以第一篇我们来说说 Flutter 环境的搭建. 笔者这边使用的是 MAC 电脑,因此以 MAC 电脑的环境搭建为例. Windows 或者 Linux 也是类似的操作. Flutter 有英文版的官网和中文网,大家可以根据自己的喜好和情况进行选择. 点击下面的链接可以到对应的安装页面. Flutter 官网安装链接 Flutter 中文网安装链接 我们这边以官网为例进行说明. 目录 1. 配置镜像 点击进入官网,可以看到下图: 我们点击 Using Flutte…
学习内容来自: Flutter中文网  . Flutter实战 --------------------------------------------------------------------------------------------------------------------------- 使用Flutter首先需要搭建Flutter的开发环境,以下以 Android  .Windows 标准 搭建开发环境,其他pc系统,移动平台请看官方文档. 一.使用镜像 --------…
下载flutter_sdk压缩包,解压到指定目录,把sdk的bin目录添加到系统环境变量Path 设置中国临时镜像:添加两个系统变量 FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn PUB_HOSTED_URL=https://pub.flutter-io.cn 运行flutter doctor检查依赖 配置andorid-sdk 到安卓开发者官网下载android sdk manager 解压,到bin目录下运行./sdkmanag…
import 'dart:ui'; MediaQueryData.fromWindow(window).padding.top 系统默认的appBar等高度 位于Dart Packages/flutter/src/material/constans.dart /// The height of the toolbar component of the [AppBar]. const double kToolbarHeight = 56.0; /// The height of the botto…