2017-11-07 13 views
0

こんにちはキーボードを最小限にしたいときは、以前の操作に戻ってキーボードアプリケーションを構築しています。例えば私がwhatsappの友達とチャットしていて、バックボタンを押したときにキーボードを最小限に抑えたいのであれば、それを最小化する代わりにチャットリストに戻します。私が必要とするのは、戻るボタンが押されたときに、前の活動に戻る代わりにキーボードを最小限に抑えることです。可能であれば、 をお手伝いください。キーボードを最小限に抑えて、戻るボタンで前の動作に戻る

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    switch (keyCode) { 
     case 4: 
      if (event.getRepeatCount() == 0 && this.mInputView != null && this.mInputView.handleBack()) { 
       return PROCESS_HARD_KEYS; 
      } 
     case 66: 
      return false; 
     case 67: 
      if (this.mComposing.length() > 0) { 
       onKey(-5, null); 
       return PROCESS_HARD_KEYS; 
      } 
      break; 
     default: 
      if (keyCode == 62 && (event.getMetaState() & 2) != 0) { 
       InputConnection ic = getCurrentInputConnection(); 
       if (ic != null) { 
        ic.clearMetaKeyStates(2); 
        keyDownUp(29); 
        keyDownUp(42); 
        keyDownUp(32); 
        keyDownUp(46); 
        keyDownUp(43); 
        keyDownUp(37); 
        keyDownUp(32); 
        return PROCESS_HARD_KEYS; 
       } 
      } 
      if (this.mPredictionOn && translateKeyDown(keyCode, event)) { 
       return PROCESS_HARD_KEYS; 
      } 
    } 
    return super.onKeyDown(keyCode, event); 
} 

答えて

1

ちょうどこれがうまくいくと思います。

public boolean onKeyDown(int keyCode, KeyEvent event, View view) {if ((keyCode == KeyEvent.KEYCODE_BACK)) { 
// hide keyboard here 
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);} 

switch (keyCode) { 
    case 4: 
     if (event.getRepeatCount() == 0 && this.mInputView != null && this.mInputView.handleBack()) { 
      return PROCESS_HARD_KEYS; 
     } 
    case 66: 
     return false; 
    case 67: 
     if (this.mComposing.length() > 0) { 
      onKey(-5, null); 
      return PROCESS_HARD_KEYS; 
     } 
     break; 
    default: 
     if (keyCode == 62 && (event.getMetaState() & 2) != 0) { 
      InputConnection ic = getCurrentInputConnection(); 
      if (ic != null) { 
       ic.clearMetaKeyStates(2); 
       keyDownUp(29); 
       keyDownUp(42); 
       keyDownUp(32); 
       keyDownUp(46); 
       keyDownUp(43); 
       keyDownUp(37); 
       keyDownUp(32); 
       return PROCESS_HARD_KEYS; 
      } 
     } 
     if (this.mPredictionOn && translateKeyDown(keyCode, event)) { 
      return PROCESS_HARD_KEYS; 
     } 
} 
return super.onKeyDown(keyCode, event); 

}

関連する問題