如何使用Android的Phonegap SoftKeyboard插件?

我正在使用Phonegap开发一个Android应用程序。 我需要以软件方式显示软键盘。 我正在使用此处的SoftKeyboard插件。 任何人都可以告诉我如何正确包含此插件并使其工作? 我已经尝试了在Phonegap Wiki上find的教程,但该插件无效。

[更新]我已将插件添加到路径中

com/zenexity/SoftKeyBoardPlugin/SoftKeyBoard.java

更新了plugins.xml并包含在内

  

然后在www文件夹中添加了softkeyboard.js ,以及index.html的以下内容

 plugins.SoftKeyBoard.show(function () { // success },function () { // fail }); 

但没有任何反应,键盘没有显示..

这就是我在我的应用程序中使用SoftKeyBoard的方法。

DroidGap Side

  • 使用提供的文件SoftKeyBoard.java创建/ src / com / phonegap / plugins / SoftKeyboard
  • 添加到/res/xml/plugins.xml:

    < plugin name="SoftKeyBoard" value="com.phonegap.plugins.SoftKeyboard.SoftKeyBoard" />

/assets/www Side

  • 将提供的文件softkeyboard.js添加到/ assets / www / js
  • 在包含phonegap javascript后添加到包含其他javascripts的head.html中的index.html:

    < script type="text/javascript" charset="utf-8" src="js/softkeyboard.js">

如果您在设备上或使用像Ripple这样的东西,您可以调用以下内容:

 window.plugins.SoftKeyBoard.show(function () { // success },function () { // fail }); 

或者像这样的东西,如果你想确保名称空间可用,这将防止未定义的问题:

 ((((window || {}).plugins || {}).SoftKeyBoard || {}).show || function(){})(); 

我想也许你出错的地方不包括你的index.html中的js / softkeyboard.js。

希望这对你有所帮助

对于最新版本的PhoneGap(Apache Cordova 2.1.0),我必须执行以下操作:

安装这些反映项目名称更改的插件源: https : //github.com/originalgremlin/phonegap-plugins/tree/master/Android/SoftKeyboard

  • 将softkeyboard.js复制到您的javascript库目录。
  • 将SoftKeyBoard.java复制到src / org / apache / cordova / plugins / SoftKeyBoard.java

在包含cordova.js文件之后将其放入HTML文件中:

  

将其添加到res / xml / config.xml插件部分的底部:

  

现在,假设这个HTML:

  

这个jQuery应该做一些有用的事情:

 var softkeyboard = window.cordova.plugins.SoftKeyBoard; $('#keyboard').toggle(softkeyboard.show, softkeyboard.hide); 

试试这样:

 SoftKeyBoard.show(function () { // success },function () { // fail }); 

JS文件中的代码不会将其放在“plugins”命名空间中。

或者使用PhoneGap插件完整命名空间:

 window.plugins.SoftKeyBoard.show(function () { // success },function () { // fail }); 

Cordova 3.0 + JQM 1.3.2:在config.xml中将“fullscreen”更改为“false”修复了“adjustPan”,并在键盘显示时阻止我的输入被覆盖。 但是,blur()不会关闭键盘,这个插件运行得非常好。

对于几乎最新版本的phonegap:

  • 将SoftKeyBoard.java添加到src中的app包中
  • 将softkeyboard.js添加到assets / www
  • 更新config.xml:
  • 调用你的插件: plugins.SoftKeyBoard.hide(function() {//success }, function() {//fail });

通过链接。 这是完整的项目: –

西蒙麦克唐纳的SoftKeyboardPlugin