Как использовать PhoneGap SoftKeyboard Plugin для Android? - PullRequest
22 голосов
/ 30 января 2012

Я разрабатываю приложение для Android, используя Phonegap .Мне нужно, чтобы программная клавиатура отображалась программно.Я использую плагин 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
});

но ничего не происходит, клавиатура не отображается ..

Ответы [ 5 ]

11 голосов
/ 22 февраля 2012

Вот как я заставил SoftKeyBoard работать в моем приложении.

Сторона DroidGap

  • create / src / com / phonegap / plugins / SoftKeyboard с предоставленнойфайл SoftKeyBoard.java внутри
  • добавить в /res/xml/plugins.xml:

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

/assets/www Side

  • добавить предоставленный файл softkeyboard.js в / assets / www / js
  • добавить в index.html в заголовок, где находятся другие ваши javascript-скриптывключается после того, как вы включили 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(){})();

Я думаю, возможно, что вы ошиблись, не включая js / softkeyboard.js в вашей голове index.html.

Надеюсь, это поможет вам

9 голосов
/ 18 октября 2012

Для последней версии 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

Вставьте это в свой HTMLфайл, после включения файла cordova.js:

<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 голосов
/ 04 февраля 2012

Попробуй так:

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

Код в файле JS не помещает его в пространство имен «плагинов».

Или используйте полное пространство имен плагинов PhoneGap:

window.plugins.SoftKeyBoard.show(function () {
    // success
},function () {
   // fail
});
0 голосов
/ 24 октября 2013

Cordova 3.0 + JQM 1.3.2: Изменение «fullscreen» на «false» в config.xml исправило «AdjustPan» и предотвратило скрытие моих входов при отображении клавиатуры. Однако blur () не закрывал клавиатуру, и этот плагин работал замечательно.

Для почти последней версии телефонного зазора:

  • Добавьте 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 });
0 голосов
/ 26 апреля 2013

перейдите по ссылке. вот полный проект: -

SoftKeyboardPlugin от Саймона Макдональда

...