关于Android4.4以下版本Webview执行LoadUrl加载js导致键盘隐藏的问题(富文本编辑器)
来源:互联网 发布:好奇心教育知乎 编辑:程序博客网 时间:2024/04/30 09:40
最近由于公司项目在做富文本编辑器使用到了一个开源的项目,这里也给出Github项目地址richeditor-android。
关于这个富文本编辑器的具体实现就不多说了,说一个存在的问题,由于富文本编辑器是基于webview通过JS动态添加html的方式实现的,而做android开发而且比较了解webview的人都知道,webview的api更新几个版本之后是各种坑,其中一个是loadurl执行js会收起软键盘,而Android4.4之后是通过evaluateJavascript加载的,这种方式不会导致收起软键盘。如何在低版本手机运行而不收起键盘,我浏览了各种解决方案,其中一个能够实现的是 Cordova android框架详解 所说的通过反射机制解决loadurl导致软键盘隐藏的问题。
下面这段代码是 Cordova中的描述:
private class PrivateApiBridgeMode extends BridgeMode Field f = webViewClass.getDeclaredField("mProvider"); f.setAccessible(true); webViewObject = f.get(webView); webViewClass = webViewObject.getClass(); Field f = webViewClass.getDeclaredField("mWebViewCore"); f.setAccessible(true); webViewCore = f.get(webViewObject); if (webViewCore != null) { sendMessageMethod = webViewCore.getClass().getDeclaredMethod("sendMessage", Message.class); sendMessageMethod.setAccessible(true); } Message execJsMessage = Message.obtain(null, EXECUTE_JS, url); sendMessageMethod.invoke(webViewCore, execJsMessage);
下面放出的demo是经过修改的,解决了这一个问题,同时也添加了一些额外功能,比如加载本地图片,弹出窗口提示删除图片等,有需要可以看看:
CSDN下载地址
0 0
- 关于Android4.4以下版本Webview执行LoadUrl加载js导致键盘隐藏的问题(富文本编辑器)
- Android webview执行loadUrl时隐藏键盘的workround
- WebView loadurl导致的空指针问题
- webview的富文本加载
- 关于使用百度富文本编辑器UE重新加载数据的问题
- webview 富文本加载
- 关于Android4.4及以下版本,TextView中使用矢量图时报错的问题
- WebView加载富文本(解决富文本内部图片不能加载,一直闪屏问题)的方法
- webview4.4以上版本使用loadurl加载过长js文件失效问题
- Android4.4以下版本webview 不支持css3 flex布局
- Android4.3及以下版本加载html源码错误问题
- 富文本编辑器ueditor的简单实现,及编辑器加载的图片不自适应的问题
- 关于常用的网页富文本编辑器
- 关于富文本编辑器Ueditor的使用
- 富文本编辑器上传图片的问题
- 小程序富文本编辑器的问题
- WebView加载富文本(html)的方法
- JS实现富文本编辑器
- Oracle数据库基础之SQL概述
- 影响未来物联网商业的三种表现
- hibernate关系映射--单向多对多@ManyToMany
- 浅谈算法和数据结构: 九 平衡查找树之红黑树
- TextView的折叠展开(动画效果)
- 关于Android4.4以下版本Webview执行LoadUrl加载js导致键盘隐藏的问题(富文本编辑器)
- MySQL5.6之后默认root密码的问题
- yum源的配置
- 如何将SQLServer 2000链接服务器的密码破解为明文
- 决策树学习(下)——ID3、C4.5、CART深度剖析及源码实现
- Dom第四天学习总结
- poj3984-迷宫问题(BFS)
- Android-基本控件(DatePicker 和 TimePicker)
- 排序算法