Phonegap: изменение размера webview на дисплее клавиатуры в Android

у меня есть модальный подобный (с фиксированным позиционированием) к тому, что facebook имеет для комментариев в ленте / чате в messenger в последнем выпуске android. То, что я хочу, похоже на это:

enter image description here

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

Я попытался добавить это предпочтение config.xml но adjustResize ничего не делает и stateVisible просто открывает клавиатуру при запуске приложения.

<preference name="android-windowSoftInputMode" value="stateVisible|adjustResize" />

что странно. По состоянию на Документация Для Android adjustResize должен сделать это:

The activity's main window is always resized to 
make room for the soft keyboard on screen.

Я использую Phonegap 3.0, и у меня есть Nexus 5 с kitkat для тестирования.

2 ответов


в моем проекте, созданном с помощью phonegap 3.0, по умолчанию приложение было полноэкранным, а клавиатура скрыла приложение,и приложение не было изменено.

я редактировал конфиг.xml и set <preference name="fullscreen" value="false" />, затем приложение больше не было полноэкранным, и когда была открыта мягкая клавиатура, приложение было изменено в соответствии с остальной частью экрана.


Я нашел решение.. специально для пользователей "sencha / phonegap / cordova".

редактирование основная деятельность в манифесте android file добавьте этот атрибут.

android: windowSoftInputMode= "adjustNothing"

 <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:windowSoftInputMode="adjustNothing"  android:label="@string/app_name" android:launchMode="singleTop" android:name="com.company.appName.MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.Black.NoTitleBar">
<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> 
</activity>