Android 软键盘弹出与关闭监听

时间:2022-11-29 00:34:16

private void listenerSoftInput() {
  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像素,就很有可能是有软键盘...
            scrollToBottom();
        } else {
        }
}
});
}

//scrollview滑到底部

protected void scrollToBottom() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
scrollview.fullScroll(View.FOCUS_DOWN);
}
}, 100);
}