Phonegap: Resize webview on keyboard display in Android

12,401

Solution 1

On my project created with phonegap 3.0, by default the app was full screen activity and the keyboard hid the app and the app was not resized.

I edited config.xml and set <preference name="fullscreen" value="false" />, then the app was no more be full screen and when the soft keyboard was opened, the app was resized to fit the rest of the screen.

Solution 2

I found the solution.. for specially "sencha/phonegap/cordova" users.

Edit the Main activity in android manifest file add this attribute.

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>
Share:
12,401
Adam Halasz
Author by

Adam Halasz

Hi, I made 37 open source node.js projects with +147 million downloads. Created the backend system for Hungary's biggest humor network serving 4.5 million unique monthly visitors with a server cost less than $200/month. Successfully failed with several startups before I turned 20. Making money with tech since I'm 15. Wrote my first HTML page when I was 11. Hacked our first PC when I was 4. Lived in 7 countries in the last 4 years. aimform.com - My company adamhalasz.com - My personal website diet.js - Tiny, fast and modular node.js web framework

Updated on June 14, 2022

Comments

  • Adam Halasz
    Adam Halasz almost 2 years

    I have a modal similar (with fixed positioning) to what facebook has for the comments in feed/chat in messenger in the latest android release. What I want looks similar to this:

    enter image description here

    So when you focus on the input the keyboard opens and shrinks the webview. It's not working by default and I can't find any solution.

    I tried to add this preference to config.xml but adjustResize is not doing anything and stateVisible just opens the keyboard when I start the app.

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

    Which is weird. As of the Android Documentation adjustResize should do this:

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

    I'm using Phonegap 3.0 and I have a Nexus 5 with kitkat for testing.