Подтвердить что ты не робот

Как использовать PhoneGap SoftKeyboard Plugin для Android?

Я разрабатываю приложение для 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
});

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

4b9b3361

Ответ 1

Вот как я получил SoftKeyBoard, работающий в моем приложении.

Сторона DroidGap

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

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

/assets/www Сторона

  • добавить предоставленный файл softkeyboard.js в /assets/www/js
  • добавить в index.html в голову, где ваши другие javascripts включены после того, как вы включили javascript в телефонную таблицу:

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

Затем вы можете вызвать следующее, если вы находитесь на устройстве или используете что-то вроде Ripple:

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

или что-то вроде этого, если вы хотите убедиться, что пространство имен доступно, что предотвратит проблемы undefined:

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

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

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

Ответ 2

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

Ответ 3

Попробуйте следующее:

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

Код в JS файле не помещается в пространство имен "plugins".

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

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

Ответ 5

Кордова 3.0 + JQM 1.3.2: Изменение "полного экрана" на "ложь" в файле config.xml исправлено "adjustPan" и предотвратило закрытие моих входов при отображении клавиатуры. Однако blur() не закрывал клавиатуру, и этот плагин работал чудесно.

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

  • Добавить SoftKeyBoard.java в пакет приложений в src
  • Добавить softkeyboard.js в активы /www
  • Обновить файл config.xml с помощью: <feature name="SoftKeyBoard"><param name="android-package" value="com.yourAppPackage" /></feature>
  • Вызовите свой плагин: plugins.SoftKeyBoard.hide(function() {//success }, function() {//fail });