保留软键盘/输入法在屏幕旋转时的状态

5

我在我的应用程序中遇到了一个小的用户体验问题;

当从横屏切换到竖屏(或从竖屏切换到横屏)时,软键盘会隐藏。

我想做的是停止键盘在方向改变时隐藏。

编辑 - 如果在方向更改之前键盘被隐藏,我不想强制打开键盘,我希望它保持隐藏状态 - 我想保留键盘打开/关闭状态)。

我已经寻找答案,似乎在Activity的清单文件中将windowSoftInputMode选项添加stateUnchanged是解决这个问题的正确方法(如安卓文档所述):

android:windowSoftInputMode="stateUnchanged|adjustResize" 

这个问题似乎完全没有效果。
有人知道这个功能的任何注意事项吗?如果聚焦的EditText在一个Fragment中,它可能不起作用吗?

真遗憾没有人回答这个问题。我遇到了类似的问题,它只在对话框片段中不适用于三星S6。 - Jack.Ramsden
我有几乎完全相同的问题。我也发布了一个问题:http://stackoverflow.com/questions/39173171/keyboard-dismissed-on-rotation-to-landscape-mode-android - sr09
你现在有这个问题的解决方案吗? - sr09
没有,从来没有解决过。 - Graeme
我有同样的问题。 - AlexKost
同样的问题,我的问题在这里:https://dev59.com/PJzha4cB1Zd3GeqPC03K - user1275972
1个回答

0
将以下代码添加到你的程序中,它就会起作用:

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

2
这会强制显示键盘 - 我想做的是在屏幕方向改变时保留键盘状态。 - Graeme
@Graeme,你可能做不到。键盘实现是否想在配置更改后保留先前状态取决于它自己。 - AL-zami

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