在我的场景中,我有一个获得焦点的 EditText。当我使用后退按钮关闭键盘时,我想捕捉该事件并做一些事情,比如将焦点转移到另一个视图。
如何获得键盘关闭事件?
软键盘有cabback。我已经使用了这个代码片段,实际上我忘记了从哪里:(
final View activityRootView = findViewById(R.id.loging_rootview);
activityRootView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
int heightDiff = activityRootView.getRootView()
.getHeight()
- activityRootView.getHeight();
if (heightDiff > 138) { // if more than 100 pixels, its
// probably a keyboard...
logo.setVisibility(View.GONE);
} else {
logo.setVisibility(View.VISIBLE);
}
}
});
您可以获得返回按钮
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// You can identify which key pressed buy checking keyCode value
// with KeyEvent.KEYCODE
if (keyCode == KeyEvent.KEYCODE_ENTER && KeyEvent.ACTION_DOWN == vent.getAction()) {
// YOUR CODE HERE
}
return false;
}
});
编辑 :
软键盘隐藏时不会发生任何事件。看到这个问题将帮助你解决你的问题