2015-09-10 19 views
6

私はキーボードがopen.actually私の問題は、キーボードが開いている場合は、キーボードが開いているかどうかを確認する方法はありますか?現在私はキーボードを隠すためにこのメソッドを使用しています。どのように私はキーボードが開いていることを知ることができます

EditText myEditText = (EditText) findViewById(R.id.myEditText); 
View view = this.getCurrentFocus(); 
if (view != null) {ditText) findViewById(R.id.myEditText); 
View view = this.getCurrentFocus(); 
if (view != null) { Inp` 
im.hideSoftInputFromWindow(view.getWindowToken(), 0); 
+2

あなたはhttp://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-androidをチェックしていますか? – Rajesh

答えて

1

ようGlobalLayoutリスナーを試してみてください:あなたのレイアウトでmain_layoutを交換し

main_layout.getViewTreeObserver().addOnGlobalLayoutListener(
     new OnGlobalLayoutListener() { 
      @Override 
      public void onGlobalLayout() 
       { 

        Rect r = new Rect(); 
        // r will be populated with the coordinates of your view 
        // that area still visible. 
        main_layout.getWindowVisibleDisplayFrame(r); 

        int heightDiff = main_layout.getRootView().getHeight()-(r.bottom -r.top);  
        //if(hightDiff>100) --> It may be keyboard. 

       } 
}); 

+2

なぜコピー&ペーストの回答ですか?あなたはちょうど回答リンクを投稿することができます – Rajesh

+2

私はあなたのコメントとリンクを参照していない... 私はこのコードを以前に私のアプリで使用していたので、ここからそれを入れました。 –

+0

これはマシュマロで働いているのですか? – Pankaj

関連する問題