Диалог увеличивается, когда отображается экранная клавиатура - PullRequest
5 голосов
/ 26 декабря 2011

У меня есть класс, который расширяет Dialog.В этом Dialog у меня есть EditText и ListView.Я могу вызвать мягкую клавиатуру, когда появится это диалоговое окно.Но моя проблема в том, можем ли мы сделать диалог, чтобы не отображаться, когда отображается программная клавиатура?Я попытался изменить softInputMode в параметрах макета, чтобы настроить изменение размера, но это не работает.Мой Dialog использует позиции x и y, когда отображается программная клавиатура и диалог открывается, мой диалог находится не в той позиции, которую я хочу.

Ответы [ 2 ]

10 голосов
/ 12 апреля 2012

Попробуйте сделать это:

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
9 голосов
/ 22 февраля 2014

Если вы хотите изменить размер, а не просто сдвинуть вверх, используйте:

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

Это также позволит вам прокручивать в диалоге

...