Как использовать 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
});
Но ничего не происходит, клавиатура не отображается.
Ответы
Ответ 1
Вот как я получил SoftKeyBoard, работающий в моем приложении.
Сторона DroidGap
/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
});
Ответ 4
перейдите по ссылке. вот полный проект: -
SoftKeyboardPlugin от Саймона Макдональда
Ответ 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 });