我有一个使用键盘的应用程序,当键盘启动时,如果用户按下键盘后键盘消失,但我想在更改时更改一两件事,所以我需要一个事件监听器。
我试过
@Override
public void onBackPressed()
然而,当键盘启动时,这似乎没有抓住后退按钮,如果用户按下两次,那么这只能抓住第二次点击
答案 0 :(得分:0)
在根视图上注册以检测键盘外观/消失:
root.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
public void onGlobalLayout(){
int heightDiff = root.getRootView().getHeight()- root.getHeight();
/*If height difference is more then 150, consider keyboard as visible. -150 for disappearing */
}
});
另外,请确保将adjustResize用于键盘。