2016-04-08 1 views
2

Это путь я использую для прослушивания мягкого изменения видимости клавиатуры:SoftKeyboardStateListener не работает на Lollipop устройствах

final SoftKeyboardStateWatcher softKeyboardStateWatcher 
      = new SoftKeyboardStateWatcher(mainLayout); 
    softKeyboardStateWatcher.addSoftKeyboardStateListener(new SoftKeyboardStateWatcher.SoftKeyboardStateListener() { 
     @Override 
     public void onSoftKeyboardOpened(int keyboardHeightInPx) { 
      bottomToolbar.setVisibility(View.GONE); 
     } 

     @Override 
     public void onSoftKeyboardClosed() { 
      bottomToolbar.setVisibility(View.VISIBLE); 
     } 
    }); 

Моего приложение сделано для SDK> = 16 и отлично работает для всех устройств до Lollipop и I протестировал его на HTC One M7 с 5.0.2 Android, и результаты были в порядке. Но, когда я пытался протестировать его с помощью Nexus 4, API 22 и Nexus 5, API 23, onSoftKeyboardOpened и onSoftKeyboardClosed никогда не вызываются.

Как я могу решить эту проблему?

Спасибо!

+0

Привет, ты решение или причины для этой проблемы? :) –

ответ

0

Попробуйте это,

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0); 

Я надеюсь, что это может помочь вам .. :)

+0

Нет, это не поможет. Этот код показывает только клавиатуру. У меня проблема с «улавливанием» момента, когда отображается клавиатура и когда она скрыта. –