Flutter API 参考文档

Flutter 是 Google 的 SDK,可通过一套代码库为移动端、网页和桌面构建美观、快速的用户体验。Flutter 可以与现有代码协作,供世界各地的开发者和组织使用,并且免费、开源。

本 API 参考文档涵盖 Flutter SDK 导出的所有库。

更多文档

本站提供 Flutter 的 API 文档。其他文档可以在以下位置找到:

离线文档

除了上述在线网站,还可以下载 HTML 文档 ZIP 文件,以便在离线或网络连接不佳时使用 Flutter 文档。

说明

离线文档文件较大,压缩后约 300MB,解压后约 1GB。

离线 HTML 文档 ZIP 压缩包:

也可以使用以下 XML 配置,将 Flutter 添加到开源的 Zeal 应用中。请按照该应用的说明添加订阅源。

导入库

框架库

下方“库”部分或左侧导航中的库属于 Flutter 框架核心,可以使用 'package:flutter/<library>.dart' 导入,例如:

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

Dart 库

“Dart”部分的库位于 dart: 命名空间中,可以使用 'dart:<library>' 导入,例如:

import 'dart:async';
import 'dart:ui';

除了 'dart:core',使用 Dart 库前都必须先导入它。

配套库

其他部分中的库是随 Flutter 一同提供的配套库。它们按包组织,可以使用 'package:<package>/<library>.dart' 导入,例如:

import 'package:flutter_test/flutter_test.dart';
import 'package:file/local.dart';

pub.dev 上的包

Flutter 拥有丰富的包生态系统,Flutter 团队和广大开源社区将这些包贡献到一个集中仓库中。在数以千计的包中,你可以找到 Firebase、Google Fonts、蓝牙和摄像头等硬件服务的支持,新的 widget 和动画,以及与其他常用网络服务的集成。可以在 pub.dev 浏览这些包。

库

animation
Flutter 动画系统。
cupertino
实现当前 iOS 设计语言的 Flutter widget。
foundation
Flutter 框架的核心基础构件。
gestures
Flutter 手势识别器。
material
实现 Material Design 的 Flutter widget。
painting
Flutter 绘制库。
physics
用于用户界面动画的简单一维物理模拟,例如弹簧、摩擦和重力。
rendering
Flutter 渲染树。
scheduler
Flutter 调度器库。
semantics
Flutter 语义包。
services
向 Flutter 应用提供的平台服务。
widget_previews
Flutter widget 预览注解和数据类。
widgets
Flutter widget 框架。

Dart

dart:ui
Flutter 应用的内置类型和核心基础构件。
dart:ui_web

核心库

dart:async
支持异步编程,提供 Future 和 Stream 等类。
dart:collection
补充 dart:core 集合功能的类和工具。
dart:convert
用于不同数据表示之间转换的编码器和解码器,包括 JSON 和 UTF-8。
dart:core
每个 Dart 程序都可使用的内置类型、集合及其他核心功能。
dart:developer
与调试器和检查器等开发者工具交互。
dart:math
数学常量、函数以及随机数生成器。
dart:typed_data
高效处理固定大小数据(例如无符号 8 字节整数)及 SIMD 数值类型的列表。

虚拟机

dart:ffi
用于与 C 编程语言互操作的外部函数接口。
dart:io
为非网页应用提供文件、套接字、HTTP 及其他输入输出支持。
dart:isolate
使用 隔离区(isolate)进行并发编程:隔离区是类似线程的独立工作单元,不共享内存,仅通过消息通信。

网页

package:web open_in_new
此包提供浏览器 API,旨在替代 dart:html 及类似的 Dart SDK 库。它将支持从编译为 JavaScript 或 WebAssembly 的 Dart 代码访问浏览器 API。
dart:js_interop
与 JavaScript 和浏览器 API 的互操作,简称 interop。
dart:js_interop_unsafe
用于动态操作 JavaScript 对象的工具方法。

网页(旧版)

dart:html
为需要与浏览器和 DOM(文档对象模型)交互的网页应用提供 HTML 元素及其他资源。
dart:js
与 JavaScript 互操作的底层支持。

platform_integration

android
Flutter Android 嵌入层。
ios
Flutter iOS 嵌入层。
linux
Flutter Linux 嵌入层。
macos
Flutter macOS 嵌入层。
windows
Flutter Windows 嵌入层。

flutter_test

flutter_test
Flutter 测试库,构建于 package:test.

flutter_driver

driver_extension
此库提供 Dart 虚拟机服务扩展,供测试使用 package:flutter_driver 从独立进程驱动应用,类似于 Selenium(网页)、Espresso(Android)和 UI Automation(iOS)。
flutter_driver
提供用于测试在真实设备和模拟器上运行的 Flutter 应用的 API。

Flutter

flutter_gpu

gpu
Flutter GPU 是用于从零构建渲染包的底层 API。

flutter_localizations

flutter_localizations
Flutter 库的本地化支持。

flutter_web_plugins

flutter_web_plugins
Flutter 插件网页实现所使用的平台通道和插件注册表实现。
url_strategy

leak_tracker_flutter_testing

leak_tracker_flutter_testing

async

async
扩展以下库异步功能的工具: dart:async 库。

boolean_selector

boolean_selector

characters

characters
基于字符(Unicode 字素簇)的字符串操作。

clock

clock

collection

algorithms
请导入 collection.dart 作为替代。
collection
equality
请导入 collection.dart 作为替代。
iterable_zip
请导入 collection.dart 作为替代。
priority_queue
请导入 collection.dart 作为替代。
wrappers
请导入 collection.dart 作为替代。

crypto

crypto

fake_async

fake_async

file

chroot
通过路径提供对 另一个 FileSystem 的视图的文件系统。
file
核心接口,包含抽象的 FileSystem 接口定义及其使用的所有相关类型: FileSystem.
local
本地文件系统实现,依赖 dart:io ,因此不适合在浏览器中使用。
memory
这是 FileSystem 的纯内存实现,内部表示大致遵循文件系统层次结构标准。

integration_test

common
integration_test
integration_test_driver
integration_test_driver_extended

intl

date_symbol_data_custom
用于自定义日期和时间格式的 API。
date_symbol_data_file
要从文件系统中的文件读取区域设置数据,应同时导入此文件和 date_format.dart。
date_symbol_data_http_request
要通过向网页服务器发送 HTTP 请求读取区域设置数据,应同时导入此文件和 date_format.dart。
date_symbol_data_local
所有区域设置的日期和时间格式符号。
date_symbols
date_time_patterns
适用于大量区域设置的日期和时间格式符号。
find_locale
intl
此库提供国际化和本地化支持,包括消息格式化与替换、日期和数字的格式化与解析,以及处理双向文本的工具。
intl_default
提供仅在网页浏览器中运行时可用的国际化功能。此库与 intl_standalone.dart 应只导入其中一个。目前此库仅提供从浏览器获取默认区域设置的功能。
intl_standalone
提供仅在独立运行时可用的国际化功能。此库与 intl_browser.dart 应只导入其中一个。目前此库仅提供获取操作系统区域设置的功能。
locale
提供对 Locale 类的访问。
message_format
MessageFormat 准备显示给用户的字符串,并支持可选参数(变量或占位符)。参数可以任意排列,以便翻译为语法不同的语言。它支持表示复数和选择选项的语法。
message_lookup_by_library
支持区域设置的消息与复数格式库。根据查找消息本地化版本的机制,可以有不同实现。此版本要求消息位于名称类似于 messages_en_US 的库中。前缀在 initializeMessages 调用中设置;必须先为相应区域设置调用该方法,才能执行查找。
number_symbols
number_symbols_data
所有区域设置的日期和时间格式符号。

leak_tracker

leak_tracker

leak_tracker_testing

leak_tracker_testing

matcher

expect
matcher
支持指定测试预期,例如单元测试中的预期。

material_color_utilities

blend/blend
contrast/contrast
dislike/dislike_analyzer
dynamiccolor/dynamic_color
dynamiccolor/dynamic_scheme
dynamiccolor/material_dynamic_colors
dynamiccolor/src/contrast_curve
dynamiccolor/src/tone_delta_pair
dynamiccolor/variant
hct/cam16
hct/hct
hct/src/hct_solver
hct/viewing_conditions
material_color_utilities
palettes/core_palette
palettes/core_palettes
palettes/tonal_palette
quantize/quantizer
quantize/quantizer_celebi
quantize/quantizer_map
quantize/quantizer_wsmeans
quantize/quantizer_wu
quantize/src/point_provider
quantize/src/point_provider_lab
scheme/scheme
scheme/scheme_content
scheme/scheme_expressive
scheme/scheme_fidelity
scheme/scheme_fruit_salad
scheme/scheme_monochrome
scheme/scheme_neutral
scheme/scheme_rainbow
scheme/scheme_tonal_spot
scheme/scheme_vibrant
score/score
temperature/temperature_cache
utils/color_utils
utils/math_utils
utils/string_utils

meta

dart2js
用于元数据注解的常量,可向以下命令使用的编译器 dart2js 提供提示: dart compile js.
meta
供开发者表达无法通过静态分析源代码推断的意图的注解。
meta_meta
描述其他注解预期用途的注解。

path

path
功能全面的跨平台路径操作库。

platform

platform
当前平台的属性。
testing
平台信息,以及用于测试的平台信息模拟。

process

process

source_span

source_span

stack_trace

stack_trace

stream_channel

isolate_channel
stream_channel

string_scanner

string_scanner
使用一系列模式解析字符串的库。

sync_http

sync_http

term_glyph

term_glyph

test_api

backend
fake
hooks
hooks_testing
scaffolding
test_api

typed_data

typed_buffers
可增长的类型化数据列表。
typed_data
与 dart:typed_data 库相关的工具和功能。

vector_math

hash
vector_math
包含多种向量操作的库,适用于游戏、模拟或渲染。
vector_math_64
包含多种向量操作的库,适用于游戏、模拟或渲染。
vector_math_geometry
包含几何体生成器(例如 CubeGenerator, SphereGenerator 和 CylinderGenerator)及过滤器(BarycentricFilter, ColorFilter 和 InvertFilter).
vector_math_lists
以节省内存的方式处理向量列表的库。
vector_math_operations
包含矩阵操作(Matrix44Operations),可作用于 Float32List 实例;还包含经过 SIMD 优化的操作(Matrix44SIMDOperations),可作用于 Float32x4List 实例。

vm_service

utils
vm_service
vm_service_io

web

helpers
web

webdriver

async_core
async_html
async_io
core
io
support/async
support/firefox_profile
support/stdio_stepper
sync_core
sync_io