当键盘可见时,处理按下android后退键

时间:2014-04-04 08:58:34

标签: android android-edittext

我有一个edittext,点击一个键盘出现,我有另一个布局出现在edittext上,如果我点击后退按钮的android键盘消失。我试图找到一个在键盘可见的情况下按下后响应的监听器。我试过onbackpressed,但是当键盘可见时不会触发。请建议任何解决方案。感谢。

1 个答案:

答案 0 :(得分:0)

我想建议一个解决方案。它可能不完美。

1)覆盖on back pressed方法。

2)在按下后退的方法中,检测键盘是否可见,使用以下代码

final View activityRootView = findViewById(R.id.activityRoot);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
    @Override
    public void onGlobalLayout() {
        int heightDiff = activityRootView.getRootView().getHeight() - activityRootView.getHeight();
        if (heightDiff > 100) { // if more than 100 pixels, its probably a keyboard...
            ... do something here
        }
     }
});

3)您可以根据您的回复要求检测键盘可见性时执行操作。