EditText的监听器关注整个系统



我需要知道何时显示Notification,其行为类似于操作系统在EditText聚焦时显示的"更改输入法",因此在我的应用程序中不能仅限于EditText s。

有办法吗?一些ListenerIntent ?我应该在源代码的哪里去研究操作系统是如何做到这一点的?

按如下操作

LinearLayout mainLayout;
mainLayout = (LinearLayout) findViewById(R.id.mian_layout);
        mainLayout.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
            @Override
            public void onGlobalLayout() {
                Rect r = new Rect();
                mainLayout.getWindowVisibleDisplayFrame(r);

                int heightDiff = mainLayout.getRootView().getHeight() - (r.bottom - r.top);
                if (heightDiff > 100) {
                    // keyboard is open.
                } else {
                    //keyboard is closed.
                }
            }
        });

最新更新