PhoneGap: есть ли способ остановить изменение размера изображения на клавиатуре?

В настоящее время я использую PhoneGap для мобильного приложения, которое я разрабатываю. На моем экране входа в систему, когда я выбираю текстовое поле, представление сжимается горизонтально, когда клавиатура перемещается вверх. Это происходит только на Android, а не на iOS.

Это касается меня, потому что у меня есть нижняя панель инструментов, котораяposition:absolute; bottom:0; и эта панель инструментов отображается в Android, когда появляется клавиатура. В iOS клавиатура просто перекрывает ее.

Ответы на вопрос(3)

    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />

к вашей метке

 10 апр. 2012 г., 12:04
Вы добавили второй тег активности в AndroidManifest.xml? & lt; Activity android: name = & quot; org.apache.cordova.DroidGap & quot; Android: метка = & Quot; @ строка / имя_приложение & Quot; Android: configChanges = & Quot; ориентация | keyboardHidden & Quot; & GT; & Lt; Намерение фильтр & GT; & Lt; / Намерение фильтр & GT; & Lt; / активность & GT; Измените имя пакета на com.phonegap.DroidGap для Phonegap 1.4.x и более ранних
 AlexCheuk09 апр. 2012 г., 23:29
Это не работает.

Eu Vid's answerХочу отметить, что Cordova 6.4.0 и выше имеет поддержку<edit-config /> который мы можем использовать для измененияAndroidManifest.xml.

Сначала вам нужно будет добавить атрибут пространства имен android. В вашемconfig.xmlдобавить новый атрибутxmlns:android="http://schemas.android.com/apk/res/android" в<widget />, Ваш блок виджетов должен выглядеть примерно так:

<widget
    id="com.my.app"
    version="0.0.1"
    xmlns="http://www.w3.org/ns/widgets"
    xmlns:cdv="http://cordova.apache.org/ns/1.0"
    xmlns:android="http://schemas.android.com/apk/res/android">

Теперь добавьте следующий кодinside <widget />:

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application/activity">
    <activity android:configChanges="orientation|keyboardHidden" android:windowSoftInputMode="adjustPan" />
</edit-config>

Теперь, когда вы звонитеcordova platform add android,AndroidManifest.xml будет сгенерирован с настройками выше.

Замечания:

The code above does not overwrite the <activity> block but merges with it; it will only replace the specified xml attributes. If you already called cordova platform add android beforehand, you can remove it by entering cordova platform rm android first before adding it again.
Решение Вопроса

ВAndroidManifest.xml в вашей основной деятельности добавить следующее:

android:windowSoftInputMode="adjustPan"

а также

android:configChanges="orientation|keyboardHidden"

Вindex.html добавьте, на что указывают травмы:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />
 18 окт. 2016 г., 02:36
идя по этому пути, было бы невозможно, чтобы клавиатура закрывала поле ввода. Оттуда пользователь не увидит, что он печатает.
 08 июн. 2017 г., 01:48
@darewreck делает хорошую мысль, потому что у меня была именно эта проблема, и я реализовал это решение, и оно не сработает для меня именно по этой причине. Мне кажется, что мне нужно будет найти решение, в котором я могу выяснить, как определить, отображается ли клавиатура, назначить ли ей переменную и переключить видимость моей нижней панели, основываясь на этом, потому что поведение поля лучше с оригинальные настройки. Ответ правильный, хотя, но точка darewreck 'очень верна

Ваш ответ на вопрос