Flutter状态管理
State 基础 命令式和声明式 UI 以计算器举例子命令式 UI 实现,以 Android 为例: // 一、定义展示的内容 private int mCount =0; // 二、中间展示数字的控件 TextView private TextView mTvCount; // 三、关联 TextView 与 xml 中的组件 mTvCount = findViewById(...
State 基础 命令式和声明式 UI 以计算器举例子命令式 UI 实现,以 Android 为例: // 一、定义展示的内容 private int mCount =0; // 二、中间展示数字的控件 TextView private TextView mTvCount; // 三、关联 TextView 与 xml 中的组件 mTvCount = findViewById(...
Provider 是社区构建的状态管理工具,也是 Flutter Favorite 一员。基于 InheritedWidget 组件进行封装,使其更简单易用。它拥有着一套完整的解决方案,能够解决开发者们遇到的绝大多数情况,它能够让你开发出简单、高性能、层次清晰的应用。 简化的资源分配与处置 懒加载 创建新类时减少大量的模板代码 支持 DevTools 更通用的调用 I...
Flutter 中的布局和 Android 中的布局对应 Column 默认大小 Column 的 widget 和 height 默认是充满父布局 MainAxisSize.min, //wrap_content ,不加的话默认为 match_parent(MainAxisSize.max) Widget columnWidget2() { return Conta...
Fluter路由基础 Flutter 中 Intent 等价于什么? 在 Android 中,Intent 主要有两种使用场景:Activity 之间的切换、调用外部组件。Flutter 不具备 Intent 的概念,Flutter 可以通过 native 整合来触发 Intent。 Activity 之间的切换 调用外部组件:相机、文件选择器 Flutter 为了...
InkWell Flutter 中的水波纹组件——InkWell,可以作用在 Container、Image 等各种组件,不仅仅是按钮。用 InkWell 或者 GestureDetector 将某个组件包起来,可添加点击事件。 InkWel 有背景时点击无水波纹 有水波纹 InkWell( //单击事件响应 onTap: () {}, child: Contai...
异步 UI 更新(FutureBuilder、StreamBuilder) FutureBuilder FutureBuilder 会依赖一个 Future,它会根据所依赖的 Future 的状态来动态构建自身。我们看一下 FutureBuilder 构造函数: FutureBuilder({ this.future, this.initialData, required ...
Dialog AlertDialog AlertDialog 定义: const AlertDialog({ Key? key, this.title, // 对话框标题组件 this.titlePadding, // 标题填充 this.titleTextStyle, //标题文本样式 this.content, // 对话框内容组件 this.content...
Color 将颜色字符串转成 Color 对象 Color(0xffdc380d); // 如果颜色固定可以直接使用整数值 // 颜色是一个字符串变量 var c = "dc380d"; Color(int.parse(c,radix:16)|0xFF000000) // 通过位运算符将Alpha设置为FF Color(int.parse(c,radix:16)).withAlpha(2...
可滚动组件介绍 Sliver 布局模型 Flutter 有两种布局模型: 基于 RenderBox 的盒模型布局。 基于 Sliver ( RenderSliver ) 按需加载列表布局。 Sliver 可以包含一个或多个子组件,只有出现在视窗口时才会去构建子组件,这种模型称为 基于Sliver的列表按需加载模型,可滚动组件中有很多都支持基于 Sliver 的按需加载模型...
容器类 Widget 和布局类 Widget 都作用于其子 Widget,不同的是: 布局类 Widget 一般都需要接收一个 widget 数组(children),他们直接或间接继承自(或包含)MultiChildRenderObjectWidget ;而容器类 Widget 一般只需要接收一个子 Widget(child),他们直接或间接继承自(或包含)SingleChildR...