局部控制键盘收回

import 'package:flutter/material.dart';
import 'package:TLDF/main.dart'; class KeyboardBack {
static BuildContext context = navigatorKey.currentState.overlay.context;
static FocusScopeNode currentFocus = FocusScope.of(context);
static void keyboardBack() {
if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) {
FocusManager.instance.primaryFocus.unfocus();
}
}
}
//需要的地方执行
KeyboardBack.KeyboardBack();

全局控制键盘收回

在main.dart
child: MaterialApp(
title: KString.mainTitle,
//Flutter商城
debugShowCheckedModeBanner: false,
navigatorKey: navigatorKey,
onGenerateRoute: Application.router.generator,
//主题
theme: ThemeData(
primaryColor: KColor.primaryColor,
///全局解决ios键盘默认颜色dark
brightness: Brightness.light, //指定亮度主题,有白色/黑色两种可选。
primaryColorBrightness: Brightness.light,
accentColorBrightness: Brightness.light),
home: SplashScreen(),
navigatorObservers: [MyApp.routeObserver],
//全局监听键盘
builder: (context, child) => Scaffold(
body: Listener(
onPointerDown: (PointerDownEvent event){
_event=event;
print("按下"+_event.timeStamp.toString());
},
onPointerUp: (PointerUpEvent event) {
int interval=event.timeStamp.inSeconds-_event.timeStamp.inSeconds;
        //防止复制粘贴时触发
if (interval<1) {
FocusScopeNode currentFocus = FocusScope.of(context);
if (!currentFocus.hasPrimaryFocus && currentFocus.focusedChild != null) {
FocusManager.instance.primaryFocus.unfocus();
}
}
},
child: child,
),
),

flutter-全局控制键盘收回和单独控制键盘收回的更多相关文章

  1. .NET开源工作流RoadFlow-流程运行-任务收回

    如果一个任务则发送,又觉得还要想修改可以立即收回刚刚发送的任务. 任务收回条件:任务发送后下一步处理人还没有打开该任务,则在已办事项中会看到 收回 按钮,否则不能收回. 点击收回按钮再确认即可收回刚刚 ...

  2. MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法

    前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的 ...

  3. MVC下用户登录状态校验的问题以及解决方案--------------Action全局过滤器的使用

    前言当我们访问某个网站的时候需要检测用户是否已经登录(通过Session是否为null),我们知道在WebForm中可以定义一个BasePage类让他继承System.Web.UI.Page,重写它的 ...

  4. Flutter 中的路由

    Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航. 并提供了管理堆栈的方法.如:Navigator.push 和 Navigator.po ...

  5. Flutter 中如何优雅的实现多渠道打包(埋点统计系列)

    我是 Zero,脑图先奉上 先赞后看,更新永不断 只要你关注 Flutter,这篇文章你绝对用得着,==> 强烈建议收藏 多渠道打包介绍 多渠道打包的主要作用是满足产品的运营需求,统计渠道和活动 ...

  6. Flutter 中的普通路由、普通路由传值、 命名路由、命名路由传值

    一.Flutter 中的路由 Flutter 中的路由通俗的讲就是页面跳转.在 Flutter 中通过 Navigator 组件管理路由导航.并提供了管理堆栈的方法.如:Navigator.push ...

  7. MySQL开发总结(有点长..耐心看)

    一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...

  8. mysql开发总结

    一.理解MySQL基本概念 1.MySQL软件:MySQL实际上就是一软件,是一工具,是关系型数据库管理系统软件 2.MySQL数据库:就是按照数据结构来组织.存储和管理数据的仓库 3.MySQL数据 ...

  9. Oracle 权限(grant、revoke)

    200 ? "200px" : this.width)!important;} --> 数据库版本:11GR2 一.介绍 在oracle中没有其他数据库系统中的数据库的概念, ...

  10. pl/sql programming 02 创建并运行plsql代码

    /* * chap 02 * ------------------------------------------------- */ create or replace function wordc ...

随机推荐

  1. 一个使用 WPF 开发的管理系统

    前言 最近发现有不少小伙伴在学习 WPF,今天大姚给大家分享一个使用 WPF 开发的管理系统,该项目包含了用户登录.人员管理.角色授权.插件管理.职位管理.主页功能(邮件.皮肤.设置)等功能,对于一个 ...

  2. 服务迁移之《mysql数据同步问题》

    我们大概是从2022年十月份开始进行拆分的.面对一百多个服务的时候,真的是无从下手,然后公司突然空降了一个从阿里出来的架构师,然后就带着我们大刀阔斧的整体迁移. 先是服务器购买阿里云的,然后从几个核心 ...

  3. 虚拟机 ubuntu18 树莓派4 QT5.14.2 交叉编译

    编译过程主要参考了 <为树莓派4交叉编译QT5.14.2(带EGLFS支持)>,可以按照教程一步一步进行,在整个过程中,有2个地方需要注意. 1. sudo rpi-update 因为网络 ...

  4. Java模拟Oracle函数MONTHS_BETWEEN注意事项

    Java模拟Oracle函数MONTHS_BETWEEN注意事项 MONTHS_BETWEEN(DATE1, DATE2) 用来计算两个日期的月份差. 最近接到一个迁移需求,把Oracle SQL接口 ...

  5. Scratch列表的知识与应用

    列表及应用1 列表及应用2 练习题1

  6. Spring boot 2.0 之优雅停机

    spring boot 框架在生产环境使用的有一段时间了,它"约定大于配置"的特性,体现了优雅流畅的开发过程,它的部署启动方式(java -jar xxx.jar)也很优雅.但是我 ...

  7. 时间轮在 Netty , Kafka 中的设计与实现

    本文基于 Netty 4.1.112.Final , Kafka 3.9.0 版本进行讨论 在业务开发的场景中,我们经常会遇到很多定时任务的需求.比如,生成业务报表,周期性对账,同步数据,订单支付超时 ...

  8. 从零开始构建一个基于大模型和 RAG 的知识库问答系统

    SimpleAbdQA 本项目所使用的大模型为:qwen1.8b 演示中所使用Embedding为:Word2vec 一.介绍 通过从本项目中,你可以得到: 了解基于大模型的本地知识库的运作原理 了解 ...

  9. 飞书lark机器人 自动化发版

    飞书lark机器人 自动化发版 #1 介绍 开发飞书机器人接收消息并调用构建接口, 实现自动化发版 发送指令 -> 机器人接收指令 -> 调用jenkins-job远程构建与部署 jenk ...

  10. ffmpeg 去除音频中的静音

    去除音频中的静音 //去除所有超过0.3秒的静音部分 ffmpeg -i input.mp3 -af silenceremove=stop_periods=-1:stop_duration=0.3:s ...