如图所示,我有一个日期选择器对话框,可在单击Edittext控件时启动。但它部分隐藏在已从之前的Edittext控件打开的软键盘后面。启动日期选择器对话框时如何隐藏软键盘?
答案 0 :(得分:1)
如果键盘打开,您可以检查onClick事件。如果它打开你可以强行关闭它。
View view = this.getCurrentFocus();
if (view != null) {
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
如果这没有帮助,您也可以尝试以下代码: 您应该在视图上检查onFocus更改事件
View.OnFocusChangeListener listener;
listener = new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if (v.getId() == R.id.address && !hasFocus) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
}
};