-2

我想检查如果用户打开键盘然后我想显示一个警报框。我怎样才能做到这一点?如果需要后台服务,那么任何人都可以告诉我如何检测用户打开键盘。

我想通过正常使用电话来检测。如果用户打开键盘进行呼叫,那么会显示一个警报框。

请帮我。

4

1 回答 1

0

试试这个方法

try {
        activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {

                Rect r = new Rect();
                getScreenRootView().getWindowVisibleDisplayFrame(r);


                int heightDiff = activityRootView.getRootView().getHeight() - (r.bottom - r.top);
                if (heightDiff > 100) {
                    // keypad is open
                } 
            }
        });
    } catch (Throwable e) {
        e.printStackTrace();
    }
于 2013-09-13T06:34:15.173 回答