Решением является установка мягкого состояния ввода для AdjustResize, в AndroidManifest добавьте
android:windowSoftInputMode="adjustResize"
в Activity.
Так как в этом Activity у меня есть несколько фрагов, каждый из которых нуждается в разных состояния, я использовал
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
или
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
для программного изменения состояния в зависимости от фрагмента.