2012-09-24 203 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