我正在使用Phonegap开发Android应用程序。我需要以软件方式显示软键盘。我正在使用找到here的SoftKeyboard插件。谁能告诉我如何正确地包含这个插件&让它起作用?我已尝试在Phonegap Wiki上找到的教程,但该插件无效。
[更新] 我已将插件添加到路径
com/zenexity/SoftKeyBoardPlugin/SoftKeyBoard.java
更新了plugins.xml
并包含了
<plugin name="SoftKeyBoard" value="com.zenexity.SoftKeyBoardPlugin.SoftKeyBoard"/>
然后在www
文件夹中添加了softkeyboard.js
,以及index.html
中的以下内容
plugins.SoftKeyBoard.show(function () {
// success
},function () {
// fail
});
但没有任何反应,键盘没有显示..
答案 0 :(得分:11)
这就是我在应用程序中使用SoftKeyBoard的方法。
DroidGap Side
添加到/res/xml/plugins.xml:
< plugin name="SoftKeyBoard" value="com.phonegap.plugins.SoftKeyboard.SoftKeyBoard" />
/assets/www
支持
在您添加了其他javascripts之后添加到index.html,其中包含了phonegap javascript:
< script type="text/javascript" charset="utf-8" src="js/softkeyboard.js"></script>
如果您在设备上或使用像Ripple这样的东西,则可以调用以下内容:
window.plugins.SoftKeyBoard.show(function () {
// success
},function () {
// fail
});
或类似的东西,如果你想确保名称空间可用,这将防止未定义的问题:
((((window || {}).plugins || {}).SoftKeyBoard || {}).show || function(){})();
我想也许你出错的地方不包括你的index.html中的js / softkeyboard.js。
希望这有助于你
答案 1 :(得分:9)
对于最新版本的PhoneGap(Apache Cordova 2.1.0),我必须执行以下操作:
安装了这些反映项目名称更改的插件源: https://github.com/originalgremlin/phonegap-plugins/tree/master/Android/SoftKeyboard
在包含cordova.js文件后将其放入HTML文件中:
<script src="/path/to/javascripts/softkeyboard.js"></script>
将其添加到res / xml / config.xml插件部分的底部:
<plugin name="SoftKeyBoard" value="org.apache.cordova.plugins.SoftKeyBoard" />
现在,假设这个HTML:
<button id="keyboard">Toggle Keyboard</button>
这个jQuery应该做一些有用的事情:
var softkeyboard = window.cordova.plugins.SoftKeyBoard;
$('#keyboard').toggle(softkeyboard.show, softkeyboard.hide);
答案 2 :(得分:2)
试试这样:
SoftKeyBoard.show(function () {
// success
},function () {
// fail
});
JS文件中的代码不会将其放在“plugins”命名空间中。
Orjust使用PhoneGap插件完整命名空间:
window.plugins.SoftKeyBoard.show(function () {
// success
},function () {
// fail
});
答案 3 :(得分:0)
浏览链接。这是完整的项目: -
答案 4 :(得分:0)
Cordova 3.0 + JQM 1.3.2:在config.xml中将“fullscreen”更改为“false”修复了“adjustPan”,并在键盘显示时阻止我的输入被覆盖。但是,blur()不会关闭键盘,这个插件运行得非常好。
对于几乎最新版本的phonegap:
<feature name="SoftKeyBoard"><param name="android-package" value="com.yourAppPackage" /></feature>
plugins.SoftKeyBoard.hide(function() {//success }, function() {//fail });