2016-09-21 107 views
1

Желаемый эффект для моего приложения для Android - иметь веб-представление с полем ввода и контентом. Когда пользователь нажимает на клавиатуру, клавиатура выдвигает окно ввода вверх, но не изменяет размер основного содержимого и просто накладывает его сверху, как показано на диаграмме ниже.Клавиатура Android webview закрывает вход

enter image description here

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

В настоящее время это приложение для андроида cordova. В манифесте, я configued

<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleInstance" android:name="GigJam" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustPan"> 

Также в config.xml:

<preference name="Fullscreen" value="false" /> 

я использовал андроида: windowSoftInputMode = «adjustPan», чтобы предотвратить экран от изменения размера, который является то, что я хочу, так как я не хотите, чтобы содержимое было зажато. Я также попытался настроить css для поля ввода, чтобы быть фиксированным и абсолютным (в основном привязанным к нижней части веб-представления.

От моего понимания, когда клавиатура появляется из редактирования в поле ввода, это будет толкать вверх коробку, а потому, что поле ввода ограничивается в WebView, который будет выталкиваться вверх, а также.

Любые советы оценили, Спасибо, D

+0

Вы решили это? Я столкнулся с той же проблемой, как правило, в Android, «adjustPan» вставляет входные данные в верхнюю часть клавиатуры, так что они всегда видны, и, как вы сказали, не хлюпает содержимое. Но в приложении Phonegap вход не сдвинут. – Taurus

+0

О, дерьмо, я не заметил, что принятый ответ был добавлен вами. – Taurus

ответ

0

Android имеет событие клавиатуры, что я слушаю Когда show/hide является триггером, я захватываю активный компонент ввода и преобразую ящик в ось y по размеру высоты клавиатуры, которую можно захватить из e выпустить в слушателе. Я преобразую назад, когда шоу запускается.

Примечание: изменение размера необходимо отключить для андроида:.. WindowSoftInputMode и установить на "adjustPan"

+0

Какое событие? Я мог бы сделать событие «focus», но я предполагаю, что это повредит все это в IOS, где поведение по умолчанию правильное. – Taurus

+0

Пожалуйста, дайте точное решение –

0

использовать эту линию getActivity() GetWindow() setSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

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

  • Нет связанных вопросов^_^