新闻详情

新闻详情

首页 / 资讯中心 / 详情

Flutter 鸿蒙化实战:keyboard_actions 适配 OpenHarmony,键盘工具栏/完成按钮开箱即用

发布时间:2026/9/27 14:28:45来源:尧图网络
Flutter 鸿蒙化实战:keyboard_actions 适配 OpenHarmony,键盘工具栏/完成按钮开箱即用
Flutter 鸿蒙化实战keyboard_actions 适配 OpenHarmony## 前言随着鸿蒙生态的快速发展越来越多的 Flutter 应用需要适配 OpenHarmony 平台。但生态早期大量常用三方库只有 Android / iOS 实现鸿蒙侧只能自己造轮子。为了解决这个问题CPF-Flutter 社区对一批高频使用的 Flutter 三方库做了 OpenHarmony 平台适配统一托管在 GitCode 的CPF-Flutter 组织 下全部通过 TAG 版本隔离、配套门禁编译验证开箱即用。本篇是系列文章之一主角是keyboard_actions—— 键盘工具栏插件。## keyboard_actions 是什么keyboard_actions原库 4.2.0为表单输入框提供一套键盘增强能力常见于 iOS 风格的键盘上方工具栏 / 完成按钮-键盘工具栏在键盘上方显示自定义工具条上一个/下一个/完成按钮等-多输入框联动多个TextField间上一个/下一个自动聚焦切换-完成按钮收起键盘方便表单收尾。典型场景登录/注册、搜索、多字段表单等需要引导用户完成输入并切换焦点的页面。## 适配情况| Flutter 框架版本 | TAG 名称 | 分支名 || — | — | — || 3.7 | 4.2.0-ohos-1.0.0 | master || 3.22 | 4.2.0-ohos-1.0.0 | master || 3.27 | 4.2.0-ohos-1.0.0 | master || 3.35 | 4.2.0-ohos-1.0.0 | master |已验证环境3.35 为例Flutter 3.35.8-ohos-0.0.1SDK 6.0.1(21)DevEco Studio 6.0.1.260ROM 6.0.0.120 SP6。## 快速接入在 pubspec.yaml 中添加 git 依赖yamldependencies: keyboard_actions: git: url: https://gitcode.com/CPF-Flutter/fluttertpc_keyboard_actions.git # 按你的 Flutter 框架版本从上方映射表选择对应 TAG ref: 4.2.0-ohos-1.0.0执行bashflutter pub get## 使用示例### 为输入框配置键盘工具栏dartimport package:flutter/material.dart;import package:keyboard_actions/keyboard_actions.dart;class LoginPage extends StatefulWidget { const LoginPage({super.key}); override StateLoginPage createState() _LoginPageState();}class _LoginPageState extends StateLoginPage { final FocusNode _usernameFocus FocusNode(); final FocusNode _passwordFocus FocusNode(); late final KeyboardActionsConfig _config KeyboardActionsConfig( actions: [ // 账号输入框下一个 → 跳密码框 KeyboardActionsItem( focusNode: _usernameFocus, displayCloseWidget: false, nextFocusNode: _passwordFocus, ), // 密码输入框显示完成 KeyboardActionsItem( focusNode: _passwordFocus, displayCloseWidget: true, onClose: () FocusScope.of(context).unfocus(), ), ], ); override void dispose() { _usernameFocus.dispose(); _passwordFocus.dispose(); super.dispose(); } override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: const Text(登录)), body: KeyboardActions( config: _config, child: Column( children: [ TextField(focusNode: _usernameFocus, decoration: const InputDecoration(labelText: 账号)), TextField(focusNode: _passwordFocus, decoration: const InputDecoration(labelText: 密码)), ], ), ), ); }}### 自定义工具栏dartKeyboardActionsConfig( actions: [ KeyboardActionsItem( focusNode: focusNode, footerBuilder: (context, config) KeyboardToolBar( config: config, children: [ const Text(自定义操作), const SizedBox(width: 12), KeyboardToolBarAction(text: 完成, onPressed: () FocusScope.of(context).unfocus()), ], ), ), ],)## API 支持一览| API | 说明 | ohos 支持 || — | — | — || KeyboardActions | 包裹输入框并注入键盘行为 | yes || KeyboardActionsConfig | 键盘行为配置 | yes || KeyboardActionsItem | 单个输入框的配置项 | yes || KeyboardToolBar | 自定义键盘工具栏 | yes | [!TIP] ohos Support 为 yes 表示鸿蒙平台支持该能力使用方式与 iOS / Android 保持一致。## 仓库地址- OpenHarmony 适配仓库https://gitcode.com/CPF-Flutter/fluttertpc_keyboard_actions- 使用问题反馈请到 CPF-Flutter 社区 Issues 提交问题社区统一收集跟进本仓库 Issues 区亦可。## 系列预告截至目前CPF-Flutter 社区已完成250 个Flutter 三方库的 OpenHarmony 平台适配覆盖权限管理、UI 组件、设备信息、位置服务、媒体处理、网络、支付等多个领域完整的适配清单含每个库的版本映射表见-适配总览文档https://gitcode.com/CPF-Flutter/docs/blob/main/ThirdpartyLibrarites.md-仓库组织https://gitcode.com/CPF-Flutter本系列后续会陆续挑选高频库展开讲解比如支付宝支付tobias、JS 桥接flutter_jsbridge_plugin、User-Agentfk_user_agent、设备信息device_util等。如果你的 Flutter 应用正在计划适配鸿蒙欢迎关注 CPF-Flutter 组织也欢迎参与共建。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

如何制作网页脚本选哪家好 2026/9/27 15:19:18

如何制作网页脚本选哪家好

告别模板丑站:3步搞定网页脚本与性能优化 还在为套用的模板网站被客户嫌弃“土气”而头疼?别急,这不仅仅是审美问题,更是底层逻辑的缺失。很多新手以为买个现成模板就能开干,结果上线后加载慢如蜗牛,用户体验极差,根本留不住人。…

阅读更多 →
让国内程序员头疼多年的 VS Code 插件 API 配置问题,终于有救了! 2026/9/27 15:19:18

让国内程序员头疼多年的 VS Code 插件 API 配置问题,终于有救了!

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
创建网站基本步骤全解析:新手避坑与安全防护实战 2026/9/27 15:19:18

创建网站基本步骤全解析:新手避坑与安全防护实战

创建网站基本步骤全解析:新手避坑与安全防护实战 网站做好了没人访问,往往不是因为你没投广告,而是因为你的网站“裸奔”在公网上,被搜索引擎标记为不安全,甚至直接被黑客挂马,导致用户一进页面就弹广告或报错。很多老板在问创建网站基本步骤时,最关心…

阅读更多 →
智能模板网站建设收费揭秘:3个免费工具帮你省下50%冤枉钱 2026/9/27 15:19:12

智能模板网站建设收费揭秘:3个免费工具帮你省下50%冤枉钱

智能模板网站建设收费揭秘:3个免费工具帮你省下50%冤枉钱 网站做好了没人访问,这大概是很多老板最头疼的事。你花了几万块让外包公司做个智能模板网站,上线后打开一看,后台空空如也,连个咨询的都没有。别急着怪平台不给流量,问题往往出在“智能模板…

阅读更多 →
AI工具实战测评:TaoToken 统一 Key 接入选型指南与深度对比 2026/9/27 15:19:11

AI工具实战测评:TaoToken 统一 Key 接入选型指南与深度对比

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
【MCP探索实践】AntV MCP Server Chart 配 TaoToken:可视化图表服务配置与验证 2026/9/27 15:19:05

【MCP探索实践】AntV MCP Server Chart 配 TaoToken:可视化图表服务配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉