Android 方向改变时隐藏键盘

Android 方向改变时隐藏键盘,android,android-fragments,keyboard,android-orientation,window-soft-input-mode,Android,Android Fragments,Keyboard,Android Orientation,Window Soft Input Mode,类似的问题已经出现过好几次,但我发现了奇怪的规律,我认为这是不应该发生的 在其布局中有活动和编辑文本。当用户单击该字段时,将显示软输入。通过在AndroidManifest中添加标志“android:WindowsOfInputMode=“stateUnchanged”,在设备方向发生变化时,一切正常工作-键盘保持其状态。但是当片段位于该活动之上,并且编辑文本位于片段中时,它不起作用。我假设在这种情况下跳过AndroidManifest上的标志(该标志仅涵盖活动),并且在方向更改期间键盘消失 我

类似的问题已经出现过好几次,但我发现了奇怪的规律,我认为这是不应该发生的

在其布局中有
活动
编辑文本
。当用户单击该字段时,将显示软输入。通过在AndroidManifest中添加标志“android:WindowsOfInputMode=“stateUnchanged”,在设备方向发生变化时,一切正常工作-键盘保持其状态。但是当
片段
位于该
活动
之上,并且
编辑文本
位于
片段
中时,它不起作用。我假设在这种情况下跳过
AndroidManifest
上的标志(该标志仅涵盖
活动
),并且在方向更改期间键盘消失

我没有找到在方向改变时保持键盘状态的干净解决方案。我看到了在activitycreated()上手动显示键盘的解决方案,但我不喜欢它,因为它需要在对象中的某个变量上保持键盘可见性状态,该变量在方向更改后仍然有效。 我发现,如果在
活动
中有
编辑文本
,即使用户没有触摸它,并且它没有聚焦,键盘仍保持其状态,这是完全出乎意料的

我无法删除
片段
,而只能依赖
活动
,因为
片段
用于
查看页面
。但是我已经检查过当
片段
直接连接到
活动
时也会发生这种情况

我还发现我检查过的所有应用程序都以某种方式解决了这个问题

是否有一种干净的解决方案,可以在带有碎片的方向更改时保留键盘状态


编辑:我也不喜欢android:configChanges=“orientation | screenSize”选项。

尝试将这一行添加到清单中的活动中

android:configChanges=“方向”


它并不完美,但你可以试试。

我忘了一开始就说过我拒绝了这个想法:。此外,android:configChanges仅适用于后蜂窝设备上的“方向|屏幕大小”标志。