概要

  • 监听应用软键盘收齐弹出

一、WidgetsBindingObserver

WidgetsBindingObserver类可以使用于监听页面的生命周期,根据用户时间需求响应响应时间。

 didChangeMetrics在页面高度发生变化的时候会触发该回调。

class Chat extends StatefulWidget {const Chat({ Key? key }) : super(key: key);static const routeName = '/chat';@overrideState<Chat> createState() => _ChatState();
}class _ChatState extends State<Chat> with WidgetsBindingObserver{@overridevoid initState() {super.initState();//初始化WidgetsBinding.instance?.addObserver(this);}@overridevoid didChangeMetrics() {super.didChangeMetrics();WidgetsBinding.instance?.addPostFrameCallback((_) {setState(() {if(MediaQuery.of(context).viewInsets.bottom==0){//关闭键盘}else{//显示键盘}});});}@overridevoid dispose() {scrollController.dispose();WidgetsBinding.instance?.removeObserver(this);super.dispose();}Widget build(BuildContext context) {return Containe();}
}

Flutter实战项目-第八篇 监听键盘弹起相关推荐

  1. 从零开始写项目第八篇【将未完成的项目发布在Tomcat上】

    tags: 从零开发项目, title: 从零开始写项目第八篇[将未完成的项目发布在Tomcat上] 将项目打包成war包 我使用的是Maven来构建项目的,因此打war包也是非常方便的. 参考链接: ...

  2. 项目需求之Android 监听键盘的弹起和隐藏setVisibility(View.GONE)方法失效

    最近比较忙咯,因为在做密码密码管理模块,所以一直在跟EditText打交道,我也写了几篇跟EditText有关的博客了,今天又遇到需求了,需要监听系统键盘的弹起和隐藏. 需求大致是这样的: 1.当键盘 ...

  3. Flutter实战项目-第十二篇 多线程isolate

    概要 isolate UI阻塞 一.dart线程概念 dart语言默认是单线程的,这就导致了如果在处理一个耗时比较长事务的话,很有可能会造成UI渲染的阻塞.举例子:我在页面创建一个动画,然后执行一个计 ...

  4. CG动画制作项目第八篇:mentalray的渲染方式

    在我们日常所用的maya里,大部分都是直接使用maya自带的渲染工具,可是新手中(像我之前就是,当然现在也是个新手)基本都用一开始自带的四个渲染工具,(如下图) 而今天我们要讲的就是mentalray ...

  5. 100个Python实战项目(八)使用 OpenCV 制作简单图像动画

  6. H5监听键盘弹起收回,用法超简单!兼容Android、iOS。

    引入以下代码,仅需2行代码即可监听! /*** 兼容Android.iOS各浏览器* H5键盘监控弹出(KeyboardUp).收起(KeyboardDown)事件定义* auth: huaichen ...

  7. Vue3+node.js网易云音乐实战项目(八)

    播放界面实现 1.准备工作 2.顶部布局 3.中部唱片部分布局 4.底部部分布局 最后一个页面还没写完,由于我要去比赛,所以暂时先写到这,等放假了再写 其他页面可以看我页面专栏 Vue3实战项目-网易 ...

  8. vs extension 监听键盘输入

    背景 有一个这样的业务需求:我们希望监听用户在编写代码时的键盘事件 基本分析 part1 如果把vs看做一个桌面应用程序,那么我们就是希望介入到这个窗体应用的键盘事件处理过程 当然我直观上认为vs不会 ...

  9. android 键盘弹出 监听,奇技淫巧之-Android监听键盘弹出与隐藏事件

    CaptainAndroid.png 相信看到这个标题,大家都会潜意识觉得:Activity中没有可以复写的方法么?或者说,没有什么listener可以让我们使用么? 抱歉,真的没有,我们潜意识都是以 ...

最新文章

  1. 实验一:使用ADO.NET方式读数据
  2. linux ssh连接慢
  3. pert计算公式期望值_PERT和三点估算技术
  4. sap生产工单报工_【案例】MES系统助力亨通电缆车间生产效率提升25%
  5. VirtualBox的四种网络接入模式
  6. 用Web Developer工具栏发现SEO问题的方法
  7. Python Flask Web 第四课 —— 模板引擎Jinja2
  8. 第一届佳木斯大学程序设计校赛题解
  9. OpencV使用fitEllipse拟合椭圆后,获取椭圆参数
  10. java dateutils工具类_Java日期工具类DateUtils详解(转)
  11. Spring Boot配置QueryDSL(生成Query查询实体类,查询数据)
  12. 未认证小程序关联已认证公众号,复用公众号资质快速进行认证
  13. 服务器文件系统报错处理办法
  14. [附源码]SSM计算机毕业设计中华美食网站JAVA
  15. “智慧机场3.0”样板工程 北京大兴机场物联网系统有多牛?
  16. 华硕天选2键盘背光灯切换颜色
  17. oracle9i rac for aix,oracle 11gR2 rac for aix 第二个节点运行root.sh不成功问题处理
  18. 计算机软考答题卡填涂格式,全国计算机软考网络工程师填涂答题卡须知
  19. C# json解析字符串总是多出双引号_json从立地到成佛
  20. 网络爬虫,淘宝API商品详情测试(抓取详情数据)

热门文章

  1. js 获取当前是这个年份的第几周+获取这周的开始和结束日期
  2. 爬取前程无忧数据,并存入数据库
  3. 怎样迅速搭建运营级直播服务器,用直播源码来完成属于你的专属直播服务
  4. 如何用Python画一只肥肥的柯基狗狗——turtle库绘制椭圆与弧线实践
  5. 工程师如何对待开源——一个老工程师的肺腑之言
  6. Greenplum实战--standby master的模拟故障与修复
  7. 软件测试简历包装我们会了,但测试人的自我“包装”呢?HR自我介绍包装小技巧【建议收藏】
  8. 2018年 吉林大学 软件工程 967考研经验分享
  9. Maira-云视频解析(使用方法)
  10. 计算机专业欧美排名,数字媒体艺术大学排名TOP3世界榜一览!