Google 使用 Cookie 来提供其服务、个性化广告和分析流量。您可以在
Google 设置
中随时调整隐私控制。
了解更多信息
。
确定
菜单
开始
安装 Flutter
试用
编写您的第一个应用
了解更多信息
来自其他平台?
面向 Android 开发者的 Flutter
面向 SwiftUI 开发者的 Flutter
面向 UIKit 开发者的 Flutter
面向 React Native 开发者的 Flutter
面向 Web 开发者的 Flutter
面向 Xamarin.Forms 开发者的 Flutter
声明式 UI 简介
Flutter 与 Swift 并发
Dart 语言概览
保持最新状态
升级
SDK 存档
新增内容
发行说明
重大更改
兼容性政策
Codelab 和示例
Codelab
食谱
示例和演示
应用解决方案
游戏
概览
添加成就和排行榜
添加广告
添加多人游戏支持
添加应用内购买
添加用户身份验证
使用 Crashlytics 进行调试
新闻
构建新闻应用
获利
概览
添加应用内购买
地图
向应用添加地图
用户界面
简介
小部件目录
布局
简介
构建布局
列表和网格
创建和使用列表
创建水平列表
创建网格视图
创建包含不同类型项目的列表
创建包含间隔项目的列表
使用长列表
滚动
概览
使用 sliver 实现花哨的滚动
在列表上方放置浮动应用栏
创建滚动视差效果
自适应设计
自适应和响应式应用设计
构建自适应应用
根据方向更新应用 UI
设计和主题
使用主题共享样式
Material Design
迁移到 Material 3
文本
字体和排版
使用自定义字体
从包中导出字体
Google Fonts 包
自定义图形
使用自定义片段着色器
交互性
为应用添加交互性
手势
简介
处理轻触
将对象拖出应用
在应用内拖动 UI 元素
添加 Material 触控涟漪
实现滑动以关闭
输入和表单
创建和设置文本字段的样式
检索文本字段的值
处理文本字段的更改
管理文本字段中的焦点
构建带有验证的表单
显示小吃栏
实现操作和快捷方式
管理键盘焦点
资产和媒体
添加资产和图片
从互联网显示图片
使用占位符淡入图片
播放和暂停视频
导航和路由
概览
为应用添加标签页
导航到新屏幕并返回
将数据发送到新屏幕
从屏幕返回数据
为屏幕添加抽屉
设置深度链接
为 Android 设置应用链接
为 iOS 设置通用链接
配置网络 URL 策略
动画和过渡
简介
教程
隐式动画
为容器的属性添加动画
淡入和淡出小组件
Hero 动画
为页面路由过渡添加动画
使用物理模拟添加动画
交错动画
创建交错菜单动画
API 概览
无障碍功能和国际化
无障碍功能
国际化
超越 UI
数据和后端
状态管理
简介
以声明式方式思考
临时状态与应用状态
简单的应用状态管理
选项
网络和 http
概览
从互联网获取数据
进行身份验证请求
将数据发送到互联网
通过互联网更新数据
在互联网上删除数据
与 WebSockets 通信
序列化
JSON 序列化
在后台解析 JSON
持久性
在磁盘上存储键值数据
读取和写入文件
使用 SQLite 持久化数据
Firebase
Google API
平台集成
支持的平台
使用 Flutter 构建桌面应用
编写特定于平台的代码
自动平台适配
Android
将 Android 添加为构建目标
添加启动画面
绑定到原生代码
托管原生 Android 视图
在 Android 上恢复状态
使用 Android 定位 ChromeOS
iOS
将 iOS 添加为构建目标
利用 Apple 的系统库
添加启动画面
添加 iOS App Clip 支持
添加 iOS 应用扩展
绑定到原生代码
托管原生 iOS 视图
在 iOS 上启用调试
在 iOS 上恢复状态
Linux
将 Linux 添加为构建目标
构建 Linux 应用
macOS
将 macOS 添加为构建目标
构建 macOS 应用
C 互操作
网络
将网络添加为构建目标
构建网络应用
网络常见问题解答
网络渲染器
自定义应用初始化
在网络上显示图片
Windows
将 Windows 添加为构建目标
构建 Windows 应用
软件包和插件
使用软件包和插件
开发软件包和插件
Flutter 收藏夹
软件包存储库
测试和调试
测试
测试概述
单元测试
简介
模拟依赖项
小部件测试
简介
查找小部件
模拟滚动
模拟用户交互
集成测试
简介
编写并运行集成测试
分析集成测试
测试插件
在测试中处理插件代码
调试
调试工具
以编程方式调试应用
使用原生语言调试器
Flutter 的构建模式
常见的 Flutter 错误
处理错误
向服务报告错误
性能和优化
概览
Impeller
性能最佳实践
应用大小
延迟组件
渲染性能
性能分析
网络性能分析
着色器编译抖动
性能指标
并发和隔离
性能常见问题解答
附录
部署
混淆 Dart 代码
创建应用版本
构建并发布 Android 应用
构建并发布 iOS 应用
构建并发布 macOS 应用
构建并发布 Linux 应用
构建并发布 Windows 应用
构建并发布网络应用
设置持续部署
添加到现有应用
简介
添加到 Android 应用
设置 Android 项目
添加单个 Flutter 屏幕
添加 Flutter 片段
添加 Flutter 视图
使用 Flutter 插件
添加到 iOS 应用
设置 iOS 项目
添加单个 Flutter 屏幕
调试嵌入式 Flutter 模块
添加多个 Flutter 实例
加载顺序和性能
工具和编辑器
Android Studio 和 IntelliJ
Visual Studio Code
DevTools
概览
从 Android Studio 和 IntelliJ 安装
从 VS Code 安装
从命令行安装
Flutter 检查器
性能视图
CPU 分析器视图
内存视图
调试控制台视图
网络视图
调试器
日志记录视图
应用大小工具
DevTools 扩展
发行说明
SDK 概览
Flutter 的 pubspec 选项
自动修复
代码格式化
Flutter 概念
架构概览
Flutter 内部
了解约束
Flutter 的构建模式
热重载
资源
学习
常见问题解答
书籍
视频
课程
学习 Dart
贡献
创建有用的错误报告
为 Flutter 做出贡献
设计文档
参考
Dash 是谁?
小部件索引
API 参考
flutter CLI 参考
多平台
移动
网络
桌面
嵌入式
开发
学习
Flutter 精选
软件包
获利
游戏
新闻
生态系统
社区
活动
文化
展示
文档
最新内容
编辑器支持
热重载
分析
安装 Flutter
DevTools
食谱
Codelabs
开始
Flutter 和 Dart 的最新版本正在帮助定义应用开发的未来。
阅读博客
以了解更多信息。
开始
安装 Flutter
试用
编写您的第一个应用
了解更多信息
来自其他平台?
面向 Android 开发者的 Flutter
面向 SwiftUI 开发者的 Flutter
面向 UIKit 开发者的 Flutter
面向 React Native 开发者的 Flutter
面向 Web 开发者的 Flutter
面向 Xamarin.Forms 开发者的 Flutter
声明式 UI 简介
Flutter 与 Swift 并发
Dart 语言概览
保持最新状态
升级
SDK 存档
新增内容
发行说明
重大更改
兼容性政策
Codelab 和示例
Codelab
食谱
示例和演示
应用解决方案
游戏
概览
添加成就和排行榜
添加广告
添加多人游戏支持
添加应用内购买
添加用户身份验证
使用 Crashlytics 进行调试
新闻
构建新闻应用
获利
概览
添加应用内购买
地图
向应用添加地图
用户界面
简介
小部件目录
布局
简介
构建布局
列表和网格
创建和使用列表
创建水平列表
创建网格视图
创建包含不同类型项目的列表
创建包含间隔项目的列表
使用长列表
滚动
概览
使用 sliver 实现花哨的滚动
在列表上方放置浮动应用栏
创建滚动视差效果
自适应设计
自适应和响应式应用设计
构建自适应应用
根据方向更新应用 UI
设计和主题
使用主题共享样式
Material Design
迁移到 Material 3
文本
字体和排版
使用自定义字体
从包中导出字体
Google Fonts 包
自定义图形
使用自定义片段着色器
交互性
为应用添加交互性
手势
简介
处理轻触
将对象拖出应用
在应用内拖动 UI 元素
添加 Material 触控涟漪
实现滑动以关闭
输入和表单
创建和设置文本字段的样式
检索文本字段的值
处理文本字段的更改
管理文本字段中的焦点
构建带有验证的表单
显示小吃栏
实现操作和快捷方式
管理键盘焦点
资产和媒体
添加资产和图片
从互联网显示图片
使用占位符淡入图片
播放和暂停视频
导航和路由
概览
为应用添加标签页
导航到新屏幕并返回
将数据发送到新屏幕
从屏幕返回数据
为屏幕添加抽屉
设置深度链接
为 Android 设置应用链接
为 iOS 设置通用链接
配置网络 URL 策略
动画和过渡
简介
教程
隐式动画
为容器的属性添加动画
淡入和淡出小组件
Hero 动画
为页面路由过渡添加动画
使用物理模拟添加动画
交错动画
创建交错菜单动画
API 概览
无障碍功能和国际化
无障碍功能
国际化
超越 UI
数据和后端
状态管理
简介
以声明式方式思考
临时状态与应用状态
简单的应用状态管理
选项
网络和 http
概览
从互联网获取数据
进行身份验证请求
将数据发送到互联网
通过互联网更新数据
在互联网上删除数据
与 WebSockets 通信
序列化
JSON 序列化
在后台解析 JSON
持久性
在磁盘上存储键值数据
读取和写入文件
使用 SQLite 持久化数据
Firebase
Google API
平台集成
支持的平台
使用 Flutter 构建桌面应用
编写特定于平台的代码
自动平台适配
Android
将 Android 添加为构建目标
添加启动画面
绑定到原生代码
托管原生 Android 视图
在 Android 上恢复状态
使用 Android 定位 ChromeOS
iOS
将 iOS 添加为构建目标
利用 Apple 的系统库
添加启动画面
添加 iOS App Clip 支持
添加 iOS 应用扩展
绑定到原生代码
托管原生 iOS 视图
在 iOS 上启用调试
在 iOS 上恢复状态
Linux
将 Linux 添加为构建目标
构建 Linux 应用
macOS
将 macOS 添加为构建目标
构建 macOS 应用
C 互操作
网络
将网络添加为构建目标
构建网络应用
网络常见问题解答
网络渲染器
自定义应用初始化
在网络上显示图片
Windows
将 Windows 添加为构建目标
构建 Windows 应用
软件包和插件
使用软件包和插件
开发软件包和插件
Flutter 收藏夹
软件包存储库
测试和调试
测试
测试概述
单元测试
简介
模拟依赖项
小部件测试
简介
查找小部件
模拟滚动
模拟用户交互
集成测试
简介
编写并运行集成测试
分析集成测试
测试插件
在测试中处理插件代码
调试
调试工具
以编程方式调试应用
使用原生语言调试器
Flutter 的构建模式
常见的 Flutter 错误
处理错误
向服务报告错误
性能和优化
概览
Impeller
性能最佳实践
应用大小
延迟组件
渲染性能
性能分析
网络性能分析
着色器编译抖动
性能指标
并发和隔离
性能常见问题解答
附录
部署
混淆 Dart 代码
创建应用版本
构建并发布 Android 应用
构建并发布 iOS 应用
构建并发布 macOS 应用
构建并发布 Linux 应用
构建并发布 Windows 应用
构建并发布网络应用
设置持续部署
添加到现有应用
简介
添加到 Android 应用
设置 Android 项目
添加单个 Flutter 屏幕
添加 Flutter 片段
添加 Flutter 视图
使用 Flutter 插件
添加到 iOS 应用
设置 iOS 项目
添加单个 Flutter 屏幕
调试嵌入式 Flutter 模块
添加多个 Flutter 实例
加载顺序和性能
工具和编辑器
Android Studio 和 IntelliJ
Visual Studio Code
DevTools
概览
从 Android Studio 和 IntelliJ 安装
从 VS Code 安装
从命令行安装
Flutter 检查器
性能视图
CPU 分析器视图
内存视图
调试控制台视图
网络视图
调试器
日志记录视图
应用大小工具
DevTools 扩展
发行说明
SDK 概览
Flutter 的 pubspec 选项
自动修复
代码格式化
Flutter 概念
架构概览
Flutter 内部
了解约束
Flutter 的构建模式
热重载
资源
学习
常见问题解答
书籍
视频
课程
学习 Dart
贡献
创建有用的错误报告
为 Flutter 做出贡献
设计文档
参考
Dash 是谁?
小部件索引
API 参考
flutter CLI 参考
description
bug_report
Windows
平台集成
Windows
主题
将 Windows 添加为构建目标
构建 Windows 应用