我想在按下键盘时自动显示软键盘EditText
焦点集中(如果设备没有物理键盘)并且我有两个问题:
When my Activity
显示,我的EditText
获得焦点但键盘不显示,我需要再次单击它才能显示键盘(当我的Activity
被展示)。
当我单击键盘上的“完成”时,键盘被关闭,但EditText
保持专注,但你不想要(因为我的编辑已经完成)。
继续说下去,我的问题是要有一个更像 iPhone 的东西:让键盘与我的键盘保持同步。EditText
状态(聚焦/未聚焦),当然如果有物理键盘,则不会显示软键盘。
要强制显示软键盘,您可以使用
EditText yourEditText= (EditText) findViewById(R.id.yourEditText);
yourEditText.requestFocus();
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);
为了消除焦点EditText
,遗憾的是你需要一个假人View
来抓住焦点。
要关闭它,您可以使用
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
这适用于在对话框中使用它
public void showKeyboard(){
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
public void closeKeyboard(){
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)