我试图在我给LinearLayout充气并调用setContentView之后显示键盘:
InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
mgr.showSoftInput(etContent, InputMethodManager.SHOW_FORCED);
getContent.requestFocus();
它不起作用。我也试过这个:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
但它也没有用。如何强制键盘显示/隐藏?我做错了什么?
答案 0 :(得分:33)
这应该有效
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
答案 1 :(得分:1)
this link清楚隐藏软键盘。 要显示它你可以使用hack - 在你的布局中的任何地方创建一个EditText,layout_width和layout_height = 0dip,并在onCreate中
yourEditText.requestFocus();