0

У меня необычная проблема с моим Android-приложением. Всякий раз, когда я фокусирую поле ввода на веб-странице, появляется мягкая клавиатура и сразу исчезает.Исчезающая мягкая клавиатура в приложении для Android

Приложение объединяет Crosswalk для функциональности браузера, хотя я хочу сказать, что это произошло, когда я использовал WebView ранее.

Это экран записи задачи:

Disappearing soft keyboard

Это, кажется, толкая вверх или изменение размера HTML для размещения виртуальной клавиатуры, но, не по какой-то причине.

Кто-нибудь знает, почему это происходит и что еще более важно, знаете, как это исправить?


EDIT: Я обнаружил, что если я добавить андроид: windowSoftInputMode = "adjustPan" в мой файл AndroidManifest.xml, проблема не бывает. Установка его на «adjustResize» делает это всегда случаем.

бы до сих пор любит некоторую помощь, если кто-нибудь знает ответ :)

ответ

0

Решения этой проблемы является обходным путем к Android галтели (которых много). Из того, что я читал, этого не происходит в iOS, но я не проверял его на подтверждение.

Проблема заключается в том, когда появляется мягкая клавиатура, она вызывает изменение размера окна. Когда вы работаете с отзывчивым веб-сайтом, как и я, у вас, скорее всего, будет код, который обрабатывает размер. Когда клавиатура появляется, происходит изменение размера окна, и клавиатура исчезает из-за пользовательского кода изменения размера.


Решение 1:

Решение переписать размер событий быть orientationchange событий. Хотя это не идеальная ситуация, если приложение является единственной целью, тогда это должно быть хорошо.

Для уточнения, изменения из (с помощью JQuery):

$(window).resize (function() 
{ 
    // Code on resize 
}); 

Перейдите (с помощью JQuery):

$(window).bind ('orientationchange', function() 
{ 
    // Code on screen rotation 
}); 

Я не уверен в поддержке браузера для orientationchange, так как это не доступно на http://caniuse.com, но могу сказать, что он работает с текущей версией Crosswalk (19.49.514.4).


Решение 2:

Альтернативное решение было предложено chrisdew в https://stackoverflow.com/a/9229672/3509051 предлагает «добавление слушателя фокусировки события входного, который отключает реагирующую на изменение размера событий для 0,5с». Это также должно работать, если вы счастливы иметь задержку 0,5 с всякий раз, когда сфокусирован вход.

Смежные вопросы