0

在我的场景中,我有一个获得焦点的 EditText。当我使用后退按钮关闭键盘时,我想捕捉该事件并做一些事情,比如将焦点转移到另一个视图。

如何获得键盘关闭事件?

4

2 回答 2

1

软键盘有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);
                        }
                    }
                });
于 2012-09-24T10:56:49.490 回答
1

您可以获得返回按钮

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;
   }
});

编辑 :

软键盘隐藏时不会发生任何事件。看到这个问题将帮助你解决你的问题

于 2012-09-24T10:57:02.760 回答