近日遇到要检测软键盘是否显示或隐藏的问题,搜了一下网上,最后找到一个很简单的,记录一下。
activityRoot是activity的根view,就是xml里面的第一个view,给它设置一个id.
final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
if (heightDiff > 100) { // 如果高度差超过100像素,就很有可能是有软键盘...
... do something here
}
}
});

本文介绍了一种简单的方法来判断Android应用中软键盘的显示与隐藏状态。通过监听全局布局变化并计算视图高度差,当高度差超过100像素时,认为软键盘已弹出。
3312

被折叠的 条评论
为什么被折叠?



