Phonegap: Resize webview on keyboard display in Android
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>
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, 2022Comments
-
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:
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
butadjustResize
is not doing anything andstateVisible
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.