这是我的应用程序的屏幕截图。单击搜索框时,软键盘会自动弹出,这很好,但是,如果我也按“菜单”按钮,菜单会出现在软键盘的顶部。
如何显示菜单,但如果它处于焦点位置,则会折叠SearchView
并隐藏软键盘。我可能需要检查并使用onPrepareOptionsMenu
的{{1}}方法执行某些操作,对吗?
它不会对我造成任何真正的伤害,但在发生这种情况时,它似乎对用户来说是一种丑陋的实现。
答案 0 :(得分:0)
您可以从searchView或覆盖中调用getCurrentFocus()
方法
您活动中的onWindowFocusChanged(boolean hasWindowFocus)
。
如果该视图是搜索视图,那么您可以通过以下方式关闭键盘:
InputMethodManager imm = (InputMethodManager)getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(m_edittext.getWindowToken(), 0);