2012-09-24 137 views
0

在我的情况下,我有一个EditText获得焦点。当我使用后退按钮关闭键盘时,我想捕捉该事件并执行一些操作,例如将焦点放在另一个视图上。安卓事件当键盘关闭返回按钮点击

如何获取键盘onclose事件?

回答

1

有软键盘的背部。我已经使用这个代码片段,hnestly我已经从那里:(

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

编辑:

没有发生事件当软键盘隐藏时 看到这个Question将帮助你解决你的问题

+0

但这不适用于硬件后退按钮 – Anthea

+0

@Anthea看到我编辑的答案 – MAC