我有一个edittext,点击一个键盘出现,我有另一个布局出现在edittext上,如果我点击后退按钮的android键盘消失。我试图找到一个在键盘可见的情况下按下后响应的监听器。我试过onbackpressed,但是当键盘可见时不会触发。请建议任何解决方案。感谢。
答案 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)您可以根据您的回复要求检测键盘可见性时执行操作。