#android #angular #cordova
#Android #угловатый #кордова #angular
Вопрос:
когда я вводлю текст в поле ввода, поле ввода закрывается программной клавиатурой в телефоне Android. Я создаю свое приложение с помощью cordova / angular 6
Я попробовал решение:
<preference name="Fullscreen" value="false" />
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity[@android:name='MainActivity']">
<activity android:windowSoftInputMode="adjustResize" />
</edit-config>
но все еще не работает…
Есть ли какой-либо другой возможный способ установить с помощью cordova, не используя прокрутку фокуса ввода? спасибо 🙂
Ответ №1:
Мы решили проблему, используя две функции в JS и плагин ionic-plugin-keyboard.
Сначала отследите событие в вашей основной функции:
window.addEventListener('native.keyboardshow', keyboardShowHandler);
window.addEventListener('native.keyboardhide', keyboardHideHandler);
Затем используйте функции для перемещения ваших полей вверх / вниз (вот наш код, управляющий нашей пользовательской формой входа в систему, в качестве примера для изменения):
function keyboardShowHandler(e) {
$("#login .content a.reset-password").slideUp("slow", function () {});
$("#login .content a.sign-up").slideUp("slow", function () {});
$("#login .content a.credits").slideUp("slow", function () {});
$("#login .content a.tutorial").slideUp("slow", function () {});
}
function keyboardHideHandler(e) {
$("#login .content a.reset-password").slideDown("slow", function () {});
$("#login .content a.sign-up").slideDown("slow", function () {});
$("#login .content a.credits").slideDown("slow", function () {});
$("#login .content a.tutorial").slideDown("slow", function () {});
}