Как проверить, отображается ли SoftKeyboard на экране активности?

Возможный дубликат:
Есть ли способ определить, отображается ли программная клавиатура?

В приложении я хочу проверить, отображается ли программная клавиатура на экране активности.

помогите пожалуйста


person user1528688    schedule 24.08.2012    source источник
comment
Я думаю, что мы можем показывать и скрывать программную клавиатуру, но мы не можем получить статус видимости программной клавиатуры.   -  person Sankar    schedule 24.08.2012
comment
Отключение этого вопроса похоже, что это невозможно проверить.   -  person Closeratio    schedule 24.08.2012


Ответы (1)


Если вам интересно, есть обходной путь, вы можете использовать getCurrentFocus() , чтобы вернуть представление, которое находится в фокусе, и проверить, является ли оно экземпляром EditText, если это так, то вы знаете, что программная клавиатура видна, при условии, что основной ввод осуществляется на программной клавиатуре, а не на физической клавиатуре.

protected boolean IsSoftKeyboardVisible(){
if(getCurrentFocus()!=null && getCurrentFocus() instanceof EditText){
        return true;
    }
return false;
}
person Ashwin Singh    schedule 24.08.2012