android - 检测软键盘隐藏状态

标签 android android-softkeyboard

每次当软键盘状态从显示变为隐藏时,想要Toast 文本。在这里,我只想从 EditText 获取 getText(),每次我点击 EditText 时,软键盘必须打开,然后按回或返回文本必须显示为 Toast

提前致谢

最佳答案

没有用于键盘状态检测的直接监听器,因此您需要如下所示的一些编程实现

private boolean wasKeyboardOpen = false;

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

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

                int heightDiff = activityMainView.getRootView().getHeight() - (r.bottom - r.top);
                if (heightDiff > 100) {
                    wasKeyboardOpen = true;
                    // kEYBOARD IS OPEN

                } else {
                    if (wasKeyboardOpen) {
                        wasKeyboardOpen = false;
                        // Do your toast here

                    }
                    // kEYBOARD IS HIDDEN
                }
            }
        });
    } catch (Throwable e) {
        e.printStackTrace();
    }

关于android - 检测软键盘隐藏状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21379541/

相关文章:

android - 谷歌地图 toScreenLocation() 方法 Android 的问题

android - 在 Jetpack Compose 中考虑项目的高度来偏移项目

android - 摩托罗拉仿生 - 输入类型 textPersonName 和 textCapWords 不工作

android - 在 Fragment 中显示/隐藏软键盘事件

android-layout - 不想在 Android 中按下 EditText 时(键盘出现后)隐藏 EditText View ?

android - 以编程方式在 ViewPager.OnPageChangeListener onPageSelected() 中隐藏软键盘?

安卓触摸输入 : Coordinates?

android - 按钮矩阵,如安全模式面板

android - 是否有可能增加进度条内线的高度Android

Android软键盘隐藏RecyclerView