如何使用Android的Phonegap SoftKeyboard插件?

NBK*_*NBK 22 javascript android phonegap-plugins cordova

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

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

com/zenexity/SoftKeyBoardPlugin/SoftKeyBoard.java

更新plugins.xml并包含在内

<plugin name="SoftKeyBoard" value="com.zenexity.SoftKeyBoardPlugin.SoftKeyBoard"/>
Run Code Online (Sandbox Code Playgroud)

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

plugins.SoftKeyBoard.show(function () {
    // success
},function () {
   // fail
});
Run Code Online (Sandbox Code Playgroud)

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

dar*_*ten 11

这就是我在我的应用程序中使用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

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

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

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

window.plugins.SoftKeyBoard.show(function () {
  // success
},function () {
  // fail
});
Run Code Online (Sandbox Code Playgroud)

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

((((window || {}).plugins || {}).SoftKeyBoard || {}).show || function(){})();
Run Code Online (Sandbox Code Playgroud)

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

希望这对你有所帮助


ori*_*lin 9

对于最新版本的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文件中:

<script src="/path/to/javascripts/softkeyboard.js"></script>
Run Code Online (Sandbox Code Playgroud)

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

<plugin name="SoftKeyBoard" value="org.apache.cordova.plugins.SoftKeyBoard" />
Run Code Online (Sandbox Code Playgroud)

现在,假设这个HTML:

<button id="keyboard">Toggle Keyboard</button>
Run Code Online (Sandbox Code Playgroud)

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

var softkeyboard = window.cordova.plugins.SoftKeyBoard;
$('#keyboard').toggle(softkeyboard.show, softkeyboard.hide);
Run Code Online (Sandbox Code Playgroud)