2015-07-14 2 views
3

Я искал и искал, и я не могу найти подходящий и рабочий ответ о том, как получить высоту клавиатуры по умолчанию на Android, если вы не изменяете размер представления.Получить высоту клавиатуры Android БЕЗ ВЗГЛЯДА просмотра?

Моя деятельность должна иметь это: андроида: windowSoftInputMode = «adjustNothing»

Так как я знаю высоту клавиатуры, когда он проявляет?

+0

Как полагают многие источники, единственный способ получить высоту клавиатуры - использовать ViewtreeObserver.OnGlobalLayoutListener(). Для этого должно быть изменение в представлении. – aravindkanna

+0

К сожалению, метод OnGlobalLayoutListener не работает вместе с "adjustNothing". –

ответ

1

Фактически, нет никакого способа сделать это, и нет значения «по умолчанию высота». Одна из идей заключается в том, что при первом показе keyboars измерьте свои значения высот и измените эту высоту с нормальным значением состояния. Попробуйте сохранить это значение и использовать их.

+0

Как я уже сказал в своем вопросе, я не могу изменить размер App/view, поэтому я не могу вычислить высоту клавиатуры на основе этого. Я не могу поверить, что Android не предоставляет способ узнать эту информацию. – mikemeli

+0

Извините, что сказал это, но это действительно так. Нет способа редактирования или окна или ime, который может предоставить эту информацию в настоящее время. Ниже ссылка может помочь вам немного больше http://stackoverflow.com/questions/31260468/how-much-percentage-of-device-screen-is-covered-by-default-soft-keyboard-in-andr – Hitchhiker

Смежные вопросы