Phonegap:在Android中的键盘显示屏上调整webview的大小

时间:2014-02-14 15:52:46

标签: javascript jquery css cordova keyboard

我有一个类似(有固定定位)的模态,用于facebook在最新Android版本的messenger中的feed / chat中的评论。我想要的看起来与此相似:

enter image description here

因此,当您专注于输入时,键盘会打开并收缩webview。它默认不起作用,我找不到任何解决方案。

我尝试将此偏好添加到config.xml,但adjustResize没有做任何事情,stateVisible只是在我启动应用时打开键盘。

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

这很奇怪。截至Android Documentation adjustResize应执行此操作:

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

我正在使用Phonegap 3.0,我有一个带有kitkat的Nexus 5进行测试。

2 个答案:

答案 0 :(得分:10)

在我使用phonegap 3.0创建的项目中,默认情况下该应用是全屏活动,键盘隐藏了应用,应用程序未调整大小。

我编辑了config.xml并设置了<preference name="fullscreen" value="false" />,然后该应用程序不再是全屏,当打开软键盘时,应用程序被调整大小以适应屏幕的其余部分。

答案 1 :(得分:4)

我找到了解决方案..特别为&#34; sencha / phonegap / cordova&#34;用户。

编辑Android清单中的主要活动 e添加此属性。

<强>机器人:windowSoftInputMode =&#34; adjustNothing&#34;

 <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>