Отображение клавиатуры без анимации
У меня проблема с анимацией мягкой клавиатуры с ICS. Я получил активность для ввода данных с помощью мягкой клавиатуры. В окне установлено значение "adjustResize", чтобы соответствовать всем представлениям на экране над мягкой клавиатурой.
Начиная с Android 4, фантастическая анимация открытия клавиатуры, пусть на экране моего экрана "отскок".
Кажется, как будто представление разрисовано, открывается клавиатура, после чего экран ретранслируется, что приводит к виду неустойчивого UX.
Был аналогичный вопрос:
(Как показать/скрыть мягкую клавиатуру без какой-либо анимации (например, fade) в Java?)
Однако решение для меня не работает. (проверено на 4.2.1)
Я был бы рад, если у кого-то есть некоторые подсказки по достижению одного из следующих решений:
- Отключите анимацию мягкой клавиатуры для активности
- Извлеките размер мягкой клавиатуры, чтобы вручную установить размер экрана.
Cheers,
Флориан
Ответы
Ответ 1
Вы не можете получить высоту мягкой клавиатуры. Я не думаю, что есть необходимость сделать это, вы можете добиться того же варианта использования, попробовав другой подход.
Если вы не хотите перенастроить экран, вы можете использовать атрибут android:windowSoftInputMode
, чтобы иметь некоторый контроль над отображением экрана, когда появляется мягкая клавиатура.
Пример. Если вы не хотите изменять размер представления, вы можете поместить следующую строку в файл manifest
. Это просто отобразит клавиатуру поверх активности.
<activity android:windowSoftInputMode="adjustPan">
Вы можете проверить другие параметры для желаемой функциональности.
Для лучшего понимания и большего контроля вы можете сослаться на этот учебник.
Надеюсь, это даст вам некоторый намек на реализацию вашего прецедента.