繁体   English   中英

如何使用Android的Phonegap SoftKeyboard插件?

[英]How to use Phonegap SoftKeyboard Plugin for Android?

我正在使用Phonegap开发一个Android应用程序。 我需要以软件方式显示软键盘。 我正在使用此处的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
});

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

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

如果您在设备上或使用像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文件中:

<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);

试试这样:

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

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

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

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

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

西蒙麦克唐纳的SoftKeyboardPlugin

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

对于几乎最新版本的phonegap:

  • 将SoftKeyBoard.java添加到src中的应用包中
  • 将softkeyboard.js添加到assets / www
  • 更新config.xml: <feature name="SoftKeyBoard"><param name="android-package" value="com.yourAppPackage" /></feature>
  • 调用你的插件: plugins.SoftKeyBoard.hide(function() {//success }, function() {//fail });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM