Google 使用 Cookie 来提供其服务,个性化广告,并分析流量。您可以在
Google 设置
中随时调整您的隐私控制。
了解更多
。
好的
菜单
入门
安装 Flutter
试用
编写您的第一个应用程序
了解更多
来自其他平台?
Flutter for Android 开发人员
Flutter for SwiftUI 开发人员
Flutter for UIKit 开发人员
Flutter for React Native 开发人员
Flutter for Web 开发人员
Flutter for Xamarin.Forms 开发人员
声明式 UI 简介
Flutter 与 Swift 并发
Dart 语言概述
保持更新
升级
SDK 存档
新功能
发行说明
重大更改
兼容性策略
Codelabs 和示例
Codelabs
菜谱
示例和演示
应用程序解决方案
AI
概述
开始使用 Gemini API
Google AI Dart SDK (pub.dev)
使用 Google AI Dart SDK 构建 (视频)
Firebase 和 Firestore
概述
探索 Firebase for Flutter
了解 Firebase for Flutter
使用 FirebaseUI 将用户身份验证流程添加到 Flutter 应用程序
了解 Firebase for Web
游戏
概述
添加成就和排行榜
使用 Firestore 构建排行榜
添加广告
添加多人游戏支持
添加应用内购买
添加用户身份验证
使用 Crashlytics 调试
Flutter 中的 Flame 简介
盈利
广告
广告概述
添加广告
将 AdMob 广告添加到您的 Flutter 应用程序
添加 AdMob 横幅和原生内联广告
Google AdMob 中介
应用内购买
应用内购买概述
添加应用内购买
支付
支付概述
Google Pay 包
地图
将地图添加到您的应用程序
将 Google 地图添加到 Flutter 应用程序
新闻
构建新闻应用程序
用户界面
介绍
小部件目录
布局
介绍
构建布局
列表和网格
创建和使用列表
创建水平列表
创建网格视图
创建包含不同类型项目的列表
创建带有间距项目的列表
处理长列表
滚动
概述
使用 Sliver 实现花式滚动
在列表上方放置一个浮动应用栏
创建滚动视差效果
自适应和响应式设计
概述
通用方法
SafeArea 和 MediaQuery
大屏幕和折叠屏
用户输入和可访问性
功能和策略
最佳实践
其他资源
设计和主题
使用主题共享样式
Material Design
迁移到 Material 3
文本
字体和排版
使用自定义字体
从包中导出字体
Google Fonts 包
自定义图形
使用自定义片段着色器
交互性
为您的应用添加交互性
手势
介绍
处理点击
将对象拖出应用
在应用内拖动 UI 元素
添加 Material 触摸涟漪
实现滑动以关闭
输入和表单
创建和设置文本字段的样式
检索文本字段的值
处理文本字段的更改
管理文本字段中的焦点
构建带验证的表单
显示 Snackbar
实现操作和快捷方式
管理键盘焦点
资产和媒体
添加资产和图像
显示来自互联网的图像
使用占位符淡入图像
播放和暂停视频
在构建时转换资产
导航和路由
概述
为您的应用添加选项卡
导航到新屏幕并返回
将数据发送到新屏幕
从屏幕返回数据
向屏幕添加抽屉
设置深度链接
为 Android 设置应用链接
为 iOS 设置通用链接
配置 Web URL 策略
动画和过渡
介绍
教程
隐式动画
为容器的属性设置动画
淡入淡出小部件
英雄动画
为页面路由过渡设置动画
使用物理模拟设置动画
交错动画
创建交错菜单动画
API 概述
无障碍与国际化
无障碍
国际化
超越 UI
数据与后端
状态管理
介绍
声明式思维
瞬时状态与应用状态
简单的应用状态管理
选项
网络与 HTTP
概述
从互联网获取数据
进行身份验证请求
将数据发送到互联网
更新互联网上的数据
删除互联网上的数据
与 WebSockets 通信
序列化
JSON 序列化
在后台解析 JSON
持久化
在磁盘上存储键值数据
读取和写入文件
使用 SQLite 持久化数据
Firebase
概述
将 Firebase 添加到您的 Flutter 应用
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 互操作
Web
添加 web 作为构建目标
构建 web 应用
WebAssembly
Web 常见问题解答
Web 渲染器
自定义应用初始化
在 web 上显示图像
Windows
添加 Windows 作为构建目标
构建 Windows 应用
包与插件
使用包与插件
开发包与插件
Flutter 收藏夹
包仓库
测试与调试
测试
概述
单元测试
介绍
模拟依赖项
小部件测试
介绍
查找小部件
模拟滚动
模拟用户交互
集成测试
介绍
编写和运行集成测试
分析集成测试
测试插件
在测试中处理插件代码
调试
调试工具
以编程方式调试您的应用程序
使用原生语言调试器
Flutter 的构建模式
常见的 Flutter 错误
处理错误
向服务报告错误
性能和优化
概述
Impeller
性能最佳实践
应用程序大小
延迟组件
渲染性能
性能分析
Web 的性能分析
着色器编译卡顿
性能指标
并发和隔离
性能常见问题解答
附录
部署
混淆 Dart 代码
创建应用程序的版本
构建和发布 Android 应用程序
构建和发布 iOS 应用程序
构建和发布 macOS 应用程序
构建和发布 Linux 应用程序
构建和发布 Windows 应用程序
构建和发布 Web 应用程序
设置持续部署
添加到现有应用程序
介绍
添加到 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 3.22 已发布!查看
Flutter 3.22 和 Dart 3.4
公告,
以及
3.22 技术
博客文章。
还可以查看网站上的
新功能
。
入门
安装 Flutter
试用
编写您的第一个应用程序
了解更多
来自其他平台?
Flutter for Android 开发人员
Flutter for SwiftUI 开发人员
Flutter for UIKit 开发人员
Flutter for React Native 开发人员
Flutter for Web 开发人员
Flutter for Xamarin.Forms 开发人员
声明式 UI 简介
Flutter 与 Swift 并发
Dart 语言概述
保持更新
升级
SDK 存档
新功能
发行说明
重大更改
兼容性策略
Codelabs 和示例
Codelabs
菜谱
示例和演示
应用程序解决方案
AI
概述
开始使用 Gemini API
Google AI Dart SDK (pub.dev)
使用 Google AI Dart SDK 构建 (视频)
Firebase 和 Firestore
概述
探索 Firebase for Flutter
了解 Firebase for Flutter
使用 FirebaseUI 将用户身份验证流程添加到 Flutter 应用程序
了解 Firebase for Web
游戏
概述
添加成就和排行榜
使用 Firestore 构建排行榜
添加广告
添加多人游戏支持
添加应用内购买
添加用户身份验证
使用 Crashlytics 调试
Flutter 中的 Flame 简介
盈利
广告
广告概述
添加广告
将 AdMob 广告添加到您的 Flutter 应用程序
添加 AdMob 横幅和原生内联广告
Google AdMob 中介
应用内购买
应用内购买概述
添加应用内购买
支付
支付概述
Google Pay 包
地图
将地图添加到您的应用程序
将 Google 地图添加到 Flutter 应用程序
新闻
构建新闻应用程序
用户界面
介绍
小部件目录
布局
介绍
构建布局
列表和网格
创建和使用列表
创建水平列表
创建网格视图
创建包含不同类型项目的列表
创建带有间距项目的列表
处理长列表
滚动
概述
使用 Sliver 实现花式滚动
在列表上方放置一个浮动应用栏
创建滚动视差效果
自适应和响应式设计
概述
通用方法
SafeArea 和 MediaQuery
大屏幕和折叠屏
用户输入和可访问性
功能和策略
最佳实践
其他资源
设计和主题
使用主题共享样式
Material Design
迁移到 Material 3
文本
字体和排版
使用自定义字体
从包中导出字体
Google Fonts 包
自定义图形
使用自定义片段着色器
交互性
为您的应用添加交互性
手势
介绍
处理点击
将对象拖出应用
在应用内拖动 UI 元素
添加 Material 触摸涟漪
实现滑动以关闭
输入和表单
创建和设置文本字段的样式
检索文本字段的值
处理文本字段的更改
管理文本字段中的焦点
构建带验证的表单
显示 Snackbar
实现操作和快捷方式
管理键盘焦点
资产和媒体
添加资产和图像
显示来自互联网的图像
使用占位符淡入图像
播放和暂停视频
在构建时转换资产
导航和路由
概述
为您的应用添加选项卡
导航到新屏幕并返回
将数据发送到新屏幕
从屏幕返回数据
向屏幕添加抽屉
设置深度链接
为 Android 设置应用链接
为 iOS 设置通用链接
配置 Web URL 策略
动画和过渡
介绍
教程
隐式动画
为容器的属性设置动画
淡入淡出小部件
英雄动画
为页面路由过渡设置动画
使用物理模拟设置动画
交错动画
创建交错菜单动画
API 概述
无障碍与国际化
无障碍
国际化
超越 UI
数据与后端
状态管理
介绍
声明式思维
瞬时状态与应用状态
简单的应用状态管理
选项
网络与 HTTP
概述
从互联网获取数据
进行身份验证请求
将数据发送到互联网
更新互联网上的数据
删除互联网上的数据
与 WebSockets 通信
序列化
JSON 序列化
在后台解析 JSON
持久化
在磁盘上存储键值数据
读取和写入文件
使用 SQLite 持久化数据
Firebase
概述
将 Firebase 添加到您的 Flutter 应用
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 互操作
Web
添加 web 作为构建目标
构建 web 应用
WebAssembly
Web 常见问题解答
Web 渲染器
自定义应用初始化
在 web 上显示图像
Windows
添加 Windows 作为构建目标
构建 Windows 应用
包与插件
使用包与插件
开发包与插件
Flutter 收藏夹
包仓库
测试与调试
测试
概述
单元测试
介绍
模拟依赖项
小部件测试
介绍
查找小部件
模拟滚动
模拟用户交互
集成测试
介绍
编写和运行集成测试
分析集成测试
测试插件
在测试中处理插件代码
调试
调试工具
以编程方式调试您的应用程序
使用原生语言调试器
Flutter 的构建模式
常见的 Flutter 错误
处理错误
向服务报告错误
性能和优化
概述
Impeller
性能最佳实践
应用程序大小
延迟组件
渲染性能
性能分析
Web 的性能分析
着色器编译卡顿
性能指标
并发和隔离
性能常见问题解答
附录
部署
混淆 Dart 代码
创建应用程序的版本
构建和发布 Android 应用程序
构建和发布 iOS 应用程序
构建和发布 macOS 应用程序
构建和发布 Linux 应用程序
构建和发布 Windows 应用程序
构建和发布 Web 应用程序
设置持续部署
添加到现有应用程序
介绍
添加到 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
表单
菜谱
表单
焦点和文本字段
检索文本字段的值
处理文本字段的更改
创建和设置文本字段的样式
构建带验证的表单