Flutter InAppWebView 如何一进入就默认打开软件盘

webView和软件盘的问题,网上有很多很多的文章。找了很多,有用的没用的一大堆。

今天主要说一下 flutter InAppWebView中如何已进入就调去软键盘。

H5里面,无论是aotoFocus还时document.getElementById('xxx').focus();

在iOS还是android上都是无效的。当时就凉凉,不过解决这个问题iOS还是有办法的。

iOS

看了这个老哥的文章,分分钟解决了 blog.csdn.net/c_furong/ar…

在flutter iOS文件,由于InAppWebView用的是WKWebView,在appDelegate里面,执行下方法即可。代码是oc的 flutter已经给我们见好了桥文件,自己写个oc的class 转一下,在appDelegate调用一下即可

Andorid

接下来就是安卓,找了很多文章,最后终结于只能通过js的hander处理。InAppWebView与js的调用在这就好说了,只讲键盘的事。

1、调键盘,一定要用原生来调。那怎么用flutter里面直接掉原生的方法呢?

第一时间在 InAppWebViewController Api中找,找到了下面两个方法。

requestFocusNodeHref()
clearFocus()

clearFocus()一目了然,关闭键盘的。那requestFocusNodeHref()是干什么用的呢。

官方文档:请求回调得到 RequestFocusNodeHrefResult对象,在看看RequestFocusNodeHrefResult呢,貌似和键盘啥的没啥关系。那我要不把requestFocusNodeHref()的方法改了呢。直接open我的android studio。 这个这个回掉的地方,直接给改了。在我心里,requestFocusNodeHref()方法就应该是请求弹出键盘的,尽然他不是,那就让他是就好了。

找到InAppWebViewMethodHander。413行,直接换掉。

收到js软键盘打开的请求,直接来个controller.requestFocusNodeHref();搞定。

附上代码:收工!

case "requestFocusNodeHref":if (webView != null) {try {webView.requestFocus();InputMethodManager inputManager =(InputMethodManager) webView.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);if (inputManager != null) {inputManager.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);result.success(true);}} catch (Exception e) {result.success(null);}} else {result.success(null);}break;

掘金地址:掘金https://juejin.cn/post/7028768149394685965/

Flutter InAppWebView 软键盘问题相关推荐

  1. Flutter 解决软键盘弹出背景图片变形

    自己在模拟写登录界面时,添加了一个背景,但是在点击输入时发现背景图片变形 一开始的内容 点击用户名,弹出软键盘时,图片变形且高度超出 解决办法: 我使用的版本是 flutter 2.13 resize ...

  2. Flutter 让软键盘不再自动弹起

    1.问题说明: 在开发中,经常遇到这种事,一个页面有输入框,点击输入框后,会弹起软键盘,同时输入框会聚焦,手动收起软键盘后,点击另一个按钮前往下一个页面或者显示一个弹窗,返回或者关闭弹窗后,由于输入框 ...

  3. flutter 收起软键盘

    xmpp聊天中,经常遇到上下滑动聊天记录,需要收起键盘,方便用户操作 GestureDetector(// 触摸收起键盘behavior: HitTestBehavior.translucent,on ...

  4. flutter TextField 输入框被软键盘挡住的解决方案

    flutter TextField 输入框被软键盘挡住的解决方案 参考文章: (1)flutter TextField 输入框被软键盘挡住的解决方案 (2)https://www.cnblogs.co ...

  5. Flutter 解决App登录页面软键盘遮挡住登录按钮或顶起底部控件的问题

    文章目录 1 软键盘问题点对比效果图 2 解决软键盘将底部布局顶上去的问题 2.1 方式一:修改resizeToAvoidBottomInset属性 2.2 方式二:使用可滑动布局 3 弹出软键盘时滚 ...

  6. flutter APP中禁止软键盘弹出,监听硬键盘输入方法

    flutter App中禁止软键盘弹出,监听硬键盘输入的方法 之前的工作中遇到一个需求,想点击输入框后不弹出软键盘,使用设备硬键盘输入,解决方法:设置输入框只读并且显示光标,然后配置键盘监听就可以了. ...

  7. flutter dialog中软键盘遮挡解决冲突

    在dialog中代码软键盘冲突的解决方案; 主要价格这行代码: padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.b ...

  8. Android 文本,软键盘使用指南

    目录 TextView的基本使用 TextView的基本属性 图文混排的三种实现方式 drawableTop,DrawableBottom,DrawableLeft,drawableRight 通过I ...

  9. Flutter 弹出键盘认识

    Flutter中TextField使用 目的在于想找出键盘删除键的回调.于是有了下文: TextField跟踪发现 在控件返回里面 有个_requestKeyboard() 这个函数: //源码实现 ...

  10. Android 点击空白出隐藏软键盘

    /*** 点击空白位置 隐藏软键盘*/@Overridepublic boolean onTouchEvent(MotionEvent event) {if (null != this.getCurr ...

最新文章

  1. mysql memcached 使用场景_memcache的应用场景?
  2. 关于Django中,实现序列化的几种不同方法
  3. nuxt2中使用less
  4. java 控制台五子棋_java控制台五子棋
  5. SQL学习--Select(一)TOP、派生表、连接、谓词
  6. python aiompq集群_国内首款基于AIO(异步IO)支持集群的高性能开源WebSocket服务器 宝贝鱼 CshBBrain V4.0 发布...
  7. Owin的URL编码怎么搞?以前都是HttpUtility.UrlEncode之类的,现在连system.web都没了,肿么办?...
  8. 2021-06-13读写锁=独占锁与共享锁
  9. 海思平台35xx系列sensor不出图问题排查方法(新手来看)
  10. 蜂鸣器驱动电路 自主开发设计
  11. photoshop CS6 注册码文件 amtlib.dll
  12. 【转】加班与加薪的秘密:一位华为工程师的经验分享
  13. 多个图片合成PDF文件
  14. print 设置纸张的高度_祝贺! 2020珠峰高程测量登山队成功登顶!用Python计算一张纸对折多少次会超过珠峰高度?...
  15. iOS-百度地图之——POI检索失败BMK_SEARCH_PERMISSION_UNFINISHED
  16. linux 清空stdin缓冲,清除stdin缓存中的数据
  17. SBX(模拟二进制交叉)的代码(python)实现
  18. Boardcast03
  19. 机器学习小组知识点4:批量梯度下降法(BGD)
  20. Timeout waiting for connection from pool

热门文章

  1. 2015阿里巴巴校招网上笔试
  2. java语言,MP4视频文件合并功能
  3. 4本建模必读的书籍,每天学一点,获益匪浅
  4. 在 Flutter 中创建响应式表单
  5. 全天星图应用软件介绍(四季星座VB6源码)
  6. 时域分析特征参数的计算代码(Matlab和Qt两种)
  7. 智能网联汽车云控系统第3部分:路云数据交互规范
  8. PostGIS的安装与初步使用
  9. 设置电脑 保护视力 还有桌面默认颜色
  10. 芋头怎么蒸好吃 蒸芋头的技巧有哪些