EditText的监听器专注于整个系统

时间:2014-05-21 11:54:01

标签: android android-edittext listener focuslistener

我需要知道何时显示NotificationEditText关注时操作系统显示的“更改输入法”类似的行为,因此不能限于{{ 1}}在我的申请中。

有办法吗?一些EditTextListener?我应该在哪里查看源代码来研究操作系统是如何做到的?

1 个答案:

答案 0 :(得分:1)

执行以下操作

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.
                }
            }
        });