android:如何在显示虚拟键盘时阻止调整窗口大小

时间:2011-03-03 12:38:19

标签: android keyboard onconfigurationchanged

我正在使用标签式应用程序。我的应用程序有一个EditText。当我单击EditText时,窗口将调整大小,虚拟键盘显示在窗口的底部。但是四个标签显示在键盘的顶部。

当keyborad显示时,我不想显示我的标签。或者我不想调整窗口大小。我需要隐藏EditText下方的标签和其他内容。

我在清单中使用'android:windowSoftInputMode'的所有选项。但我看不出任何差异。

请给我解决方案。

谢谢..

3 个答案:

答案 0 :(得分:13)

我找到了解决方案......特别是“sencha / phonegap / cordova”用户。

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

答案 1 :(得分:11)

当虚拟键盘出现时,视图不会重新调整大小,但会被移动。请参阅此blog post以防止此情况发生。

答案 2 :(得分:4)

我遇到同样的问题,我发现Mudassir建议的博客文章没有用。我不希望我的窗口被移动或调整大小,或者adjustPanadjustResize都不起作用 我只是希望它能保持我的窗口位置不变。

我发现我可以调用getWindow,然后将 y位置 gravity 设置为top|center_horizontal,并将其修复为适用于Windows的窗口键盘出现时不要与键盘重叠。

对于部分被键盘覆盖的大窗户,似乎没有防止键盘推动它们的解决方案。