Отображение клавиатуры без анимации

У меня проблема с анимацией мягкой клавиатуры с ICS. Я получил активность для ввода данных с помощью мягкой клавиатуры. В окне установлено значение "adjustResize", чтобы соответствовать всем представлениям на экране над мягкой клавиатурой. Начиная с Android 4, фантастическая анимация открытия клавиатуры, пусть на экране моего экрана "отскок".

Кажется, как будто представление разрисовано, открывается клавиатура, после чего экран ретранслируется, что приводит к виду неустойчивого UX.

Был аналогичный вопрос: (Как показать/скрыть мягкую клавиатуру без какой-либо анимации (например, fade) в Java?) Однако решение для меня не работает. (проверено на 4.2.1)

Я был бы рад, если у кого-то есть некоторые подсказки по достижению одного из следующих решений:

  • Отключите анимацию мягкой клавиатуры для активности
  • Извлеките размер мягкой клавиатуры, чтобы вручную установить размер экрана.

Cheers, Флориан

Ответ 1

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

Если вы не хотите перенастроить экран, вы можете использовать атрибут android:windowSoftInputMode, чтобы иметь некоторый контроль над отображением экрана, когда появляется мягкая клавиатура.

Пример. Если вы не хотите изменять размер представления, вы можете поместить следующую строку в файл manifest. Это просто отобразит клавиатуру поверх активности.

<activity android:windowSoftInputMode="adjustPan"> 

Вы можете проверить другие параметры для желаемой функциональности.

Для лучшего понимания и большего контроля вы можете сослаться на этот учебник.

Надеюсь, это даст вам некоторый намек на реализацию вашего прецедента.