Flutter Package & Plugin
Flutter 包和插件 Package Dart 包 当你需要开发一个纯 Dart 组件(比如一个自定义的 Weidget)的时候使用的形式,内部没有 Native 平台的代码。 Plugin 插件包 插件包(Plugin packages)是当你需要暴露 Native API 给别人的时候使用的形式,内部需要使用 Platform Channels 并包含 Androiod/iO...
Flutter 包和插件 Package Dart 包 当你需要开发一个纯 Dart 组件(比如一个自定义的 Weidget)的时候使用的形式,内部没有 Native 平台的代码。 Plugin 插件包 插件包(Plugin packages)是当你需要暴露 Native API 给别人的时候使用的形式,内部需要使用 Platform Channels 并包含 Androiod/iO...
Flutter Module 命令创建 Flutter module 命令:flutter create -t module flutter_module flutter module 也是可以跑到手机上的 flutter 中的 .android 和 .ios 是自动生成的,app 的是没有 . 的 add to android app(添加到已有Android App)...
Flutter Channel 平台通道 Platform Channel 介绍 Platform Channel 是一个异步消息通道,消息在发送之前会编码成二进制消息,接收到的二进制消息会解码成 Dart 值,其传递的消息类型只能是对应的解编码器支持的值,所有的解编码器都支持空消息,其 Native 与 Flutter 通信架构如下图所示:消息和响应以异步的形式进行传递,以确保用户界面...
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...