viewgroup.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect r = new Rect();
viewgroup.getWindowVisibleDisplayFrame(r);
int screenHeight = viewgroup.getRootView().getHeight();
int heightDifference = screenHeight - (r.bottom);
if (heightDifference > 200) {
//软键盘弹出
} else {
//软键盘收回
}
}
})
viewgroup最好是根布局
Activity的windowSoftInputMode属性需为
adjustResize
adjustPan
adjustUnspecified