Как узнать, появляется ли клавиатура (dis) в Android? - PullRequest
7 голосов
/ 11 мая 2011

У меня есть EditText и я хочу дать ему больше строк при появлении клавиатуры. Поэтому я ищу что-то вроде "OnKeyboardAppearsListener" , но не могу его найти. Я думаю, что это должно существовать, но, возможно, по-другому ...

1 Ответ

5 голосов
/ 11 мая 2011

Вы должны @ Override onConfigurationChanged, чтобы иметь возможность обрабатывать изменения во время выполнения:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);

    // Checks whether a hardware or on-screen keyboard is available
    if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_NO) {
        Toast.makeText(this, "Keyboard visible", Toast.LENGTH_SHORT).show();
    } else if (newConfig.keyboardHidden == Configuration.KEYBOARDHIDDEN_YES) {
        Toast.makeText(this, "Keyboard hidden", Toast.LENGTH_SHORT).show();
    }
}

Пример взят из здесь . Посмотрите здесь для полей, связанных с клавиатурой (среди прочих), которые вы, возможно, захотите использовать.


Редактировать (RivieraKid): изменен для учета жесткой или экранной клавиатуры.

...