键盘在横屏模式下全屏打开

7

当我在我的应用程序中打开软键盘并且处于横屏模式时,键盘会覆盖整个应用程序。只有键盘和顶部的一个空白区域用于输入文字。在竖屏模式下,软键盘显示正常。


它只发生在 2.3.3 版本中...所有以上版本都可以。 - Mohammed mansoor
我有几个EditText字段...当我点击其中任何一个时...在横屏模式下...键盘会出现在应用程序上方.. - Mohammed mansoor
你能否把代码放在这里,而不是说代码?在发帖到SO之前,你能先谷歌一下吗? - Siddharth
是的,我已经谷歌搜索了...但没有得到一个令人满意的答案。 - Mohammed mansoor
你能把代码放在这里,而不是说代码吗?你阅读了SO的常见问题解答吗? - Siddharth
1
找到解决方案了...链接 - Mohammed mansoor
1个回答

11

基本上这不是你的应用程序的错误,而是你的键盘输入法编辑器(IME)设计的方式。当用户进入横屏模式时,它将占据整个屏幕。

您可以在Play商店安装一些第三方IME,并查看其在纵向模式下的工作方式。

根据下面MCeley提供的链接,您可以执行以下操作:

@Override
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
    outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI;
}

或者将您的活动清单更改为以下内容

android:imeOptions="flagNoExtractUi" 

点击此处了解更多讨论


1
是的,整个屏幕被占用是因为键盘是这样设计的。但是,您可以告诉原生键盘,即使在横向模式下也不想使用此编辑模式。请参见用户从中获得解决方案的相关问题:https://dev59.com/8m855IYBdhLWcg3wcz5h - Michael Celey
谢谢提供链接,这样 outAttrs.imeOptions = EditorInfo.IME_FLAG_NO_EXTRACT_UI; 就可以实现魔法了。 - Jay Mayu
这需要的最低目标SDK是多少?我的是2.3.3。 - Mohammed mansoor
点击此链接以获取答案:http://developer.android.com/guide/topics/ui/controls/text.html#Flags - Krunal Shah
1
在特定的EditText元素内添加android:imeOptions="flagNoExtractUi"即可。 - goRGon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接