Flutter API 参考文档
Flutter 是 Google 的 SDK,可通过一套代码库为移动端、网页和桌面构建美观、快速的用户体验。Flutter 可以与现有代码协作,供世界各地的开发者和组织使用,并且免费、开源。
本 API 参考文档涵盖 Flutter SDK 导出的所有库。
更多文档
本站提供 Flutter 的 API 文档。其他文档可以在以下位置找到:
离线文档
除了上述在线网站,还可以下载 HTML 文档 ZIP 文件,以便在离线或网络连接不佳时使用 Flutter 文档。
说明
离线文档文件较大,压缩后约 300MB,解压后约 1GB。
离线 HTML 文档 ZIP 压缩包:
也可以使用以下 XML 配置,将 Flutter 添加到开源的 Zeal 应用中。请按照该应用的说明添加订阅源。
- 稳定通道 Zeal XML 配置地址: api.flutter.dev/offline/flutter.xml
- 主开发通道 Zeal XML 配置地址: main-api.flutter.dev/offline/flutter.xml
导入库
框架库
下方“库”部分或左侧导航中的库属于 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
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
async
- async
- 扩展以下库异步功能的工具:
dart:async库。
boolean_selector
characters
- characters
- 基于字符(Unicode 字素簇)的字符串操作。
clock
collection
- algorithms
- 请导入
collection.dart作为替代。 - collection
- equality
- 请导入
collection.dart作为替代。 - iterable_zip
- 请导入
collection.dart作为替代。 - priority_queue
- 请导入
collection.dart作为替代。 - wrappers
- 请导入
collection.dart作为替代。
crypto
fake_async
file
integration_test
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_testing
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
path
- path
- 功能全面的跨平台路径操作库。
platform
process
source_span
stack_trace
stream_channel
string_scanner
- string_scanner
- 使用一系列模式解析字符串的库。
sync_http
term_glyph
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 实例。