How to force keyboard to show/hide?
本问题已经有最佳答案,请猛点这里访问。
我试着在线性布局充气后显示键盘,并调用setContentView如下:
1 2 3 | InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); mgr.showSoftInput(etContent, InputMethodManager.SHOW_FORCED); getContent.requestFocus(); |
它不起作用。我也尝试过:
1 | getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); |
但也没用。如何强制键盘显示/隐藏?我做错了什么?
这应该管用
1 2 3 4 5 6 7 8 9 10 11 | public class KeyBoard { public static void toggle(Activity activity){ InputMethodManager imm = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE); if (imm.isActive()){ imm.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0); // hide } else { imm.toggleSoftInput(0, InputMethodManager.HIDE_IMPLICIT_ONLY); // show } }//end method }//end class |
此链接清楚地显示了隐藏软键盘的信息。要显示它,您可以使用hack-在布局、布局宽度和布局高度=0dip中的任意位置创建edittext,然后在oncreate do中
1 | yourEditText.requestFocus(); |