android点击空白处隐藏键盘
时间: 2023-07-28 14:16:26 浏览: 279
在 Android 中,当用户点击屏幕上的空白区域时隐藏软键盘可以通过以下步骤实现:
1. 获取屏幕上的根视图 View。
2. 给根视图添加一个点击事件监听器。
3. 在点击事件处理方法中,获取当前焦点所在的 View 对象,并判断是否是 EditText 或其子类。
4. 如果不是 EditText 或其子类,则隐藏软键盘。
下面是一个示例代码:
```java
View rootView = getWindow().getDecorView().getRootView();
rootView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
View focusedView = getCurrentFocus();
if (focusedView instanceof EditText) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(focusedView.getWindowToken(), 0);
}
}
return false;
}
});
```
这段代码会在 Activity 的 onCreate 方法中执行,它会给屏幕上的根视图添加一个点击事件监听器,当用户点击屏幕上的空白区域时,会执行 onTouch 方法,该方法会获取当前焦点所在的 View 对象,如果当前焦点不是 EditText 或其子类,则隐藏软键盘。
阅读全文