老孟导读:Flutter组件有一个很大的特色,那就是很多复杂的组件都是通过一个一个小组件拼装而成的,今天就来说说系统的ExpansionPanelList是如何实现的。...MergeableMaterial 在了解ExpansionPanelList实现前,先来了解下MergeableMaterial,它展示多个MergeableMaterialItem组件,当子组件发生变化时...Container( height: 45, color: Colors.red.withOpacity(.3), ), ], ); } 看到这个效果是否想到了ExpansionPanelList...系统控件ExpansionPanelList就是使用此控件实现的。
代码: ---- import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp( home: MyApp...代码: ---- import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp( home: ExpansionPanelListDemo...接下来我们试试多个ExpansionPanel的效果 代码: ---- import 'package:flutter/material.dart'; void main() { runApp(new...flutter/material.dart'; void main() { runApp(new MaterialApp( home: ExpansionPanelListDemo(),...小结 ---- 使用ExpansionPanelList可以实现带动画的展开布局效果 ExpansionPanelList中的ExpansionPanel是需要受ExpansionPanelList的点击事件处理的
前言 ---- 在前面的文章中我们学习了ExpansionPanelList的用法,使用ExpansionPanelList可以很轻松的实现可展开列表的效果,在文章的最后依然给大家留下了个小问题,实现如下效果...在前面已经提到了,使用ExpansionPanelList.radio()每次只能打开一个Item,当有一个item处于打开状态时在点击其他item就没有效果了,所以在这里我们依然要借助于ExpansionPanelList...官方肯定也会想到这一点啊,在Flutter中也是支持你自定义viewget的 在Flutter中与绘制相关的是在Painting层次,具体见下图: ?...Flutter架构图 和Flutter自带的Wdiget一样,自定义的Widget也会经过Skia被编译成原生代码,所以性能上也是不受影响的。...Flutter中的坐标系 在Flutter中坐标系的坐标原点在左上角,X坐标越往右越大,Y坐标越往下越大 ?
类似于这种,Flutter 给我们提供了相当便捷的 UI 组件 ExpansionPanel。 ExpansionPanel 看名字也能看出来,是一个"扩展面板"。...扩展面板仅用作于 ExpansionPanelList。 看说明也就能明白了,它不单独使用,只能和 ExpansionPanelList 配合使用。...发现什么都没有了,看一下log: flutter: The following assertion was thrown during performLayout(): flutter: RenderListBody..., so it must be placed in a parent that does not flutter: constrain the main axis....代码如下,需使用 ExpansionPanelList.radio: Widget _buildPanel() { return ExpansionPanelList.radio( expansionCallback
wanandroid_flutter 玩安卓的flutter版本,非常感谢鸿洋提供的api。 这个项目中常用的widget基本都用到了,没用到的后续也会强行用到的 。...非常适合学习,代码不多,注释多 玩安卓 Flutter版本 玩安卓 Java版本 玩安卓 小程序版本 github:https://github.com/yechaoa/wanandroid_flutter...IOS 你能学到 BottomNavigationBar 底部菜单 FlutterJsonBeanFactory Json解析 WebView 加载网页 dio 网络请求 ExpansionPanelList...flutter_swiper share provide shared_preferences flutter_easyrefresh Github https://github.com/yechaoa.../wanandroid_flutter 开发环境 Flutter 环境配置 Flutter macOS环境配置
收缩面板仅用作为 ExpansionPanelList的子级。...this.body, this.isExpanded, this.canTapOnHeader, }) 3 常用属性 3.1 headerBuilder:标题 headerBuilder:Text("Flutter
前期回顾: 1.Flutter实战 | 从 0 搭建「网易云音乐」APP(一、创建项目、添加插件、通用代码)2.Flutter实战 | 从 0 搭建「网易云音乐」APP(二、Splash Page、登录页...、发现页)3.Flutter实战 | 从 0 搭建「网易云音乐」APP(三、每日推荐、推荐歌单)4.Flutter实战 | 从 0 搭建「网易云音乐」APP(四、排行榜、播放页面)5.Flutter实战...| 从 0 搭建「网易云音乐」APP(五、播放功能逻辑)6.Flutter实战 | 从 0 搭建「网易云音乐」APP(六、歌词(一))7.Flutter实战 | 从 0 搭建「网易云音乐」APP(七、...这个功能首先我想到的是 ExpansionPanelList,但是他和我们的需求不太搭,包括样式和逻辑。 那我们就自定义一个,怎么来做到展开和收回?...而且在展开/收回的时候箭头要来回的变化,我在前面也写过一篇文章:Flutter | 求求你们了,切换 Widget 的时候加上动画吧,这个时候就派上用场了。
Flutter Widgets 【Flutter Widgets 大全】 为 Flutter 老孟 网站项目,共收录 330 多个 Widgets,此电子书并不适合入门(一个一个组件学习),适合当作手册...如果想系统的学习入门知识,请到 Flutter 老孟 实战 查看。...Flutter 老孟博客(在线阅读地址):http://laomengit.com/flutter/widgets/widgets_structure.html Github 地址:https://github.com.../781238222/flutter-do Flutter Widgets 目录 AboutDialog 在线查看 AboutListTile 在线查看 AbsorbPointer 在线查看 ActionChip...DropdownButtonFormField 在线查看 DropdownButtonHideUnderline 在线查看 ErrorWidget 在线查看 ExpandIcon 在线查看 Expanded 在线查看 ExpansionPanelList
就在这时,Flutter 来了,它带着耀眼的光芒和风骚的话语:来啊!上我啊! 这™不上还是男人? APP 展示 APP基本上一个整天就开发完成了,后续进行了一系列的需求调整,先来看图: ? ? ?...[1] 这里我也简单说一下,具体可以查看该文章: Flutter 获取 widget 的截图 使用到的是 RepaintBoundary,代码如下: return RepaintBoundary(...因为截图会有一定的延时,并且返回值为一个 Future ,那我们没有理由不用 FutureBuilder,如有不了解 FutureBuilder 的,可以查看我的这篇文章:Flutter FutureBuilder...如何展示素菜和荤菜 这里我选用的是 ExpansionPanelList,用它来实现最合适不过。...如果你还没有了解过 ExpansionPanelList,那么我建议读我的这篇文章:Flutter ExpansionPanel 超级实用展开控件 剩下的就很简单了,通过数据来判断是否展示 已使用标识
文章目录 一、Flutter 包和插件管理平台 二、Flutter 插件搜索示例 三、Flutter 插件装示例 1、添加 Dart 包依赖 2、获取 Dart 包 3、使用 Dart 包 4、官方的导入插件说明...四、Flutter 插件使用 五、Flutter 应用入口 六、 相关资源 一、Flutter 包和插件管理平台 已经实现好的模块功能 , 完全可以复用 , 避免重复造轮子 , 这些功能可以封装在 Flutter...包中 ; https://pub.dev/packages 网站是 Google 官方建立的管理 Dart 包和 Flutter 插件的平台 ; 在该网站可以搜索到各种包和插件 ; 二、Flutter...flutter.dev/ Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 ) 官方 GitHub 地址 : https://github.com/flutter...Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程 : https://flutter.cn/docs/cookbook Flutter CodeLab :
projectType[index].isSelected; _selectedBox = projectType[index]; }); 关于flutter - 单选ListView...Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62499593/
在实际开发过程中,为了满足项目业务方面以及兼容历史代码等方面,经常会采取 Flutter 功能模块以 aar 或 Module 等引入方式;而 Flutter Code 代码是与 Android...,直接 Run / Debug 会把 Flutter Module 当作一个新的 Project 运行; 此时需要通过 Flutter Attach 方式在 AndroidStudio 与设备之间建立...Flutter Attach 运行 Flutter Code;此时等待连接 Waiting for a connection from Flutter on Redmi K30 5G… ?...若打开了 Native app 之后 Flutter Attach 仍旧一直卡在连接设备 Waiting for a connection from Flutter on… 可以尝试杀掉 app 重新进入...包; Flutter Attach 运行 Flutter Code,与 Android 相同,与设备同步连接之后便可进行断点调试; ?
: Flutter 作为独立页面 : 在 Native 原生页面中 , 打开一个 Flutter 页面 ; 或者在 Flutter 页面中打开原生页面 ; Flutter 作为组件嵌入 : 在...Native 原生页面中 , 嵌套一个 Flutter 组件 ; 或者在 Flutter 页面中 , 嵌套原生页面组件 ; 二、Flutter 混合开发集成步骤 Flutter 混合开发集成步骤 :...flutter_hybrid , 然后执行如下命令 : flutter create -t module flutter_module 2、Android Studio 中创建 Flutter Module...( 推荐 ) 在弹出的对话框中 , 选择 Flutter Module , 选择创建的 Flutter Module 名称和路径 ; 创建完成的 Flutter Module 项目 : 3、Flutter...://github.com/flutter Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程 : https://flutter.cn/docs/cookbook
一、Flutter 开源项目参考 Flutter 项目实例 : Flutter 源码附带示例 : https://github.com/flutter/flutter/tree/master/examples..., 这是官方给出的 Flutter 源码的附带项目实例 ; Flutter 官方示例 : https://github.com/flutter/samples , 这个项目比较多 ; Flutter...该项目没有 Flutter 源码 , 只是在项目主页 readme.md 中列举了各种类型的 Flutter 项目 , 可以跳转到对应的 Flutter 页面 ; 这是 Flutter 示例 Star.../download/han1202012/15989510 1. flutter/flutter (官方) 项目地址 : https://github.com/flutter/flutter 下载地址...官网 : https://flutter.dev/ Flutter 插件下载地址 : https://pub.dev/packages Flutter 开发文档 : https://flutter.cn
flutter项目新建与运行 vscode command+shift+p:输入 flutter,选择 new project,application,选择一个项目存储的文件夹,会新建一个 flutter...项目 然后会直接打开该项目,到 lib 下 main.dart vscode command+shift+p:输入 flutter,选择 device,选择要运行项目的设备 但是运行项目设备选择了手机设备在执行...flutter run的时候没有自己的手机设备的选项,可以先试下iOS 模拟设备 vscode command+shift+p:输入 flutter,选择 start ios simulator,就会弹出一个...Flutter run key commands. r Hot reload....R Hot restart. h List all available interactive commands. d Detach (terminate "flutter run" but leave
官网 : https://flutter.dev/ Flutter 插件下载地址 : https://pub.dev/packages Flutter 开发文档 : https://flutter.cn.../docs ( 强烈推荐 ) 官方 GitHub 地址 : https://github.com/flutter Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程...: https://flutter.cn/docs/cookbook Flutter CodeLab : https://codelabs.flutter-io.cn/ Dart 中文文档 : https...://dart.cn/ Dart 开发者官网 : https://api.dart.dev/ Flutter 中文网 : https://flutterchina.club/ , http://flutter.axuer.com...GitHub 地址 : ( 随博客进度一直更新 , 有可能没有本博客的源码 ) Flutter Module 工程 : https://github.com/han1202012/flutter_module
Flutter是一个由Google与社区开发的开源移动应用软件开发工具包。 Flutter不是一个彻底的跨平台技术框架,如果应用开发中涉及混合开发,还需要开发者具备原生开发知识。...1.1 Flutter的特点 1)跨平台开发 Flutter支持在mac OS、Windows、Linux、Android、iOS以及谷歌公司的Fuchsia操作系统上运行。...6)高性能 Flutter采用GPU渲染技术,使用Flutter编写的应用运行画面基本可以达到60帧/秒,因此使用Flutter开发的应用几乎可以媲美原生应用的性能。...1.3 Flutter框架 Flutter是一个分层结构框架,每一层都建立在前一层的基础上。...上层只提供画布,所有内容的绘制渲染逻辑均在Flutter内部完成,这实现了Flutter App和平台的无关性。
redux主要由Store、Action、Reducer三部分组成 Store用于存储和管理State集成flutter redux修改项目根目录下pubspec.yaml,并添加依赖flutter_redux...项目集成flutter redux库 创建State 创建一个State对象AppState,用于储存需要共享的主题数据,并且完成AppState初始化工作,如下面代码所示 class AppState...ThemeData _refresh(ThemeData themeData, action) { themeData = action.themeData; return themeData; } 通过flutter...到此我们已经完成了flutter redux的初始化工作,如下面代码所示 void main() { final store = new Store( appReducer
端 ; 耗时操作 : Flutter 需要处理耗时计算 , 将信息传给 Android , Android 处理完后 , 回传给 Flutter 计算结果 ; 二、BasicMessageChannel...官网 : https://flutter.dev/ Flutter 插件下载地址 : https://pub.dev/packages Flutter 开发文档 : https://flutter.cn.../docs ( 强烈推荐 ) 官方 GitHub 地址 : https://github.com/flutter Flutter 中文社区 : https://flutter.cn/ Flutter 实用教程...: https://flutter.cn/docs/cookbook Flutter CodeLab : https://codelabs.flutter-io.cn/ Dart 中文文档 : https...GitHub 地址 : ( 随博客进度一直更新 , 有可能没有本博客的源码 ) Flutter Module 工程 : https://github.com/han1202012/flutter_module
Flutter渲染逻辑+源码浅显解读 前言 flutter渲染引擎-flutter.framework,而真正的渲染工作是由skia来做的 由于Flutter中几乎所有对象都是Widget,那么现在抛出两个问题...Flutter渲染逻辑 三种树 这是Flutter中三棵树:Widget tree、Element Tree、Render Tree,他们之间的关系从图中也很容易看出来,问题是Flutter是通过什么方式来建立他们之间的关系呢...加上flutter团队对Widget做了优化,不用担心整个Widget树频繁创建、销毁所带来的性能问题; Render Tree中的RenderObject主要负责layout、paint等复杂操作,...我们为什么可以在State中使用widget; ComponentElement中有一个mount方法,这个方法类似Widget中的createElement都是Flutter自行调用,我们只需知道Element...下一篇就是我对Flutter中的页面更新逻辑的一些自己的理解。 传送门: Flutter-汇总