Flutter 点击空白处关闭软键盘,点击非TextField 关闭软键盘的方法

1:点击空白处(非控件上)关闭软键盘。

    此方法有个问题,就是点击非空白区域,不会关闭软键盘,比如点击旁边的其他按钮,则软键盘还在。只适合点击空白处关闭软键盘

在 main.dart 入口 build 中增加

    builder: (context, child) {//xxxxx 操作return GestureDetector(behavior: HitTestBehavior.translucent,// 全局添加点击空白处隐藏键盘onTap: () => FocusManager.instance.primaryFocus?.unfocus(),// onTap: () {//   FocusScopeNode currentFocus = FocusScope.of(context);//   if (!currentFocus.hasPrimaryFocus &&//       currentFocus.focusedChild != null) {//     FocusManager.instance.primaryFocus?.unfocus();//   }// },child: child,);},
2. 点击非TextField 关闭软键盘

增加Listener 监听

此方法有个问题:点击所有地方都会先关闭软键盘。点击TextField 会先关闭软键盘,然后再重新弹出来。

  builder: (context, child) {FlutterSmartDialog.init();return Listener(onPointerDown: (_) {FocusScopeNode currentFocus = FocusScope.of(context);if (!currentFocus.hasPrimaryFocus) {currentFocus.focusedChild?.unfocus();}},child: child,);},

3:在TextField 添加此方法,在每个输入框中添加如下方法也可以实现。

     onTapOutside: (event){FocusScopeNode currentFocus = FocusScope.of(context);currentFocus.focusedChild?.unfocus();},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650442.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一文速通Python添加、修改和删除字典元素

添加、修改和删除字典元素是 Python 中使用字典时常见的操作。字典是一种无序、可变的数据结构,用于存储键值对。在 Python 中,对字典元素进行添加、修改和删除操作可以帮助我们动态地管理数据,方便地根据需求对字典进行更新和维护。 一、添…

图文解析交流慢充原理和握手协议以及OBC工作原理

1.接口定义 2.硬件连接原理 2.obc工作原理 OBC里面包括单片机1和单片机2,DSP。 有的厂家方案只有一个单片机,CC/CP部分直接用DSP实现。交流桩的ARM控制K1、K2,S1。单片机1控制K3。单片机2控制S2。DSP控制K4。BMS控制PDU里面的K5&#x…

使用Opencv-python库读取图像、本地视频和摄像头实时数据

使用Opencv-python库读取图像、本地视频和摄像头实时数据 Python中使用OpenCV读取图像、本地视频和摄像头数据很简单, 首先需要安装Python,然后安装Opencv-python库 pip install opencv-python然后在PyCharm或者VScode等IDE中输入对应的Python代码 一…

Maven讲解

介绍 Maven是一个流行的构建工具和项目管理工具,它主要用于Java项目的构建、依赖管理和项目报告生成。Maven通过提供一致的项目结构、自动化的构建过程和强大的依赖管理,简化了项目的开发和维护过程。 下面是一些Maven的主要特点和用途: 项…

Transformer and Pretrain Language Models3-6

Pretrain Language Models预训练语言模型 content: language modeling(语言模型知识) pre-trained langue models(PLMs)(预训练的模型整体的一个分类) fine-tuning approaches GPT and BERT(…

【阻塞队列】阻塞队列的模拟实现及在生产者和消费者模型上的应用

文章目录 📄前言一. 阻塞队列初了解🍆1. 什么是阻塞队列?🍅2. 为什么使用阻塞队列?🥦3. Java标准库中阻塞队列的实现 二. 阻塞队列的模拟实现🍚1. 实现普通队列🍥2. 实现队列的阻塞功…

立创EDA学习:设计收尾工作

布线整理 ShiftM,关闭铺铜显示 调整结束后再使用快捷键”ShiftM“打开铺铜 过孔 在空白区域加上一些GND过孔,连接顶层与底层的铺铜。放置好”过孔“后,隐藏铺铜,观察刚才放置的过孔有没有妨碍到其他器件 调整铺铜 先打开铺铜区&…

《Vue3 基础知识》 Vue2+ElementUI 自动转 Vue3+ElementPlus(GoGoCode)

前言 GoGoCode 一个基于 AST 的 JavaScript/Typescript/HTML 代码转换工具。 AST abstract syntax code 抽象语法树。 实现 第一步:安装 GoGoCode 插件 全局安装最新的 gogocode-cli 即可 npm i gogocode-cli -g查看版本 gogocode-cli -V相关插件说明 插件描述…

【多态】10分钟大白话讲解Java中的多态

1.多态的概念 多态(polymorphism)本来是生物学里的概念,表示地球上的生物在形态和状态方面的多样性。 而在java的面向对象中,多态通俗点说就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生不同的状态。也就是说…

先进计算产业促湖南数字经济规模突破1.7万亿元

中新网湖南新闻1月26日电 (于冬阳 周沁怡)“截至2023年底,集群汇聚了中电长城、飞腾、麒麟等1400余家企业,产值达1800亿元。”1月26日,国家新一代自主安全计算系统产业集年度工作推进会在长沙举行,国家新一代自主安全计算系统产业…

python-分享篇-使用海龟turtle模块实现幸福大转盘

文章目录 准备代码效果 准备 一、根目录下放图片 代码 from turtle import * import turtle from random import randint import sys #屏幕初始化 screen turtle.Screen() screen.title("幸运大转盘 转转转~") screen.setup(480,450) screen.bgpic("转盘.png…

Android底部导航栏创建——ViewPager + RadioGroup

Android底部导航栏有多种实现方式,本文详解其中的ViewPager RadioGroup方式的实现步骤。 我们先来看以下看一下最终做出的效果,使大家有个基本概念。 本结构特点: 1,ViewPager部分触摸左右滑动切换页面,RadioGroup部…

怎么获取二维码的链接?二维码转链接只需3步

怎么从二维码中提取内容呢?现在很多内容都会用二维码方式来存储,但是有些场景下二维码是无法使用的时候,想要查看二维码中的内容,就需要分解二维码成链接后使用。那么二维码分解成链接具体该怎么做呢?今天就将在线二维…

计算机组成原理--4.指令系统

一.指令格式 二.指令分类

【笔记】顺利通过EMC试验(16-41)-视频笔记

目录 视频链接 P1:电子设备中有哪些主要骚扰源 P2:怎样减小DC模块的骚扰 P3:PCB上的辐射源究竟在哪里 P4:怎样控制PCB板的电磁辐射 P5:多层线路板是解决电磁兼容问题的简单方法 P6:怎样处理地线上的裂缝 P7:怎样降低时钟信号的辐射 P8:为什么IO接口的处理特别重要 P9…

数据结构——用链表实现Map

目录 一、映射(Map) 二、代码实现 1.建立接口 2.方法实现 (1)映射的建立 键(key)和值(val)的建立 重写toString方法 (2)构造方法 (3&…

102.乐理基础-五线谱-高音谱号

内容参考于:三分钟音乐社 上一个内容:五线谱的构造、谱号是什么-CSDN博客 谱号一共需要学习和了解四种,如下图:要牢牢掌握的是高音谱号和低音谱号这两种,如图1所示 首先高音谱号: 它大致范围,…

Vue3中的ref和shallowRef、reactive和shallowReactive

一:ref、reactive简介 ref和reactive是Vue3中定义响应式数据的一种方式。ref通常用来定义基础类型数据。reactive通常用来定义复杂类型数据。 二、shallowRef、shallowReactive简介 shallowRef和shallowReactive是Vue3中定义浅层次响应式数据的方式 三、Api使用对比…

Mac中java jdk、android sdk、flutter sdk目录

1、Java JDK 目录 (1)官网下载的 Java JDK Java JDK下载官网 /Library/Java/JavaVirtualMachines(2)Android Studio下载的 Java JDK /Users/用户名/Library/Java/JavaVirtualMachines2、Android SDK 目录 /Users/用户名/Libr…

ansible处理多台机器部署基础环境

本次以多台机器需部署zabbix客户端为例: 机器先做免密互信,ansible主机上执行ssh-keygen,一路回车,然后将公钥发送给需管理的主机: ssh-copy-id rootIP 1、编辑hosts文件,添加需配置的主机IP,并测试连通…