Activity监听键盘弹出和隐藏

//计算view在window视图中的高度
    private int computeUsableHeight() {
        Rect r = new Rect();
        email_login_form.getWindowVisibleDisplayFrame(r);
        return (r.bottom - r.top);
    }

    private void possiblyResizeChildOfContent() {
        int usableHeightNow = computeUsableHeight();
        if (usableHeightNow != usableHeightPrevious) {
            int usableHeightSansKeyboard = email_login_form.getRootView().getHeight();
            int heightDifference = usableHeightSansKeyboard - usableHeightNow;

            if (heightDifference > (usableHeightSansKeyboard / 4)) {
                // 键盘弹出
                 ....
            } else {
                // 键盘收起
                ....
            }
            usableHeightPrevious = usableHeightNow;
        }
    }

摘录自 安卓监听软键盘弹出与隐藏的两种方法

你可能感兴趣的:(Activity监听键盘弹出和隐藏)