Оказывается, что приложение, над которым я работал, использовало код, основанный на решении Майкла Димудиса , чтобы «приручить» клавиатуру на Android.
Это решение выборочно изменяет высоту корневого представления при появлении и исчезновении программной клавиатуры. Оказывается, он был слишком избирательным для моих нужд, и я изменил код, чтобы всегда обновлять высоту, если доступная высота изменяется.
Для других, использующих решение Михаэля и / или заинтересованных в моих модификациях, я изменил метод Возможно возможно, ResizeChildOfContent , чтобы прочитать:
private void PossiblyResizeChildOfContent()
{
var usableHeightNow = this.ComputeUsableHeight();
if (usableHeightNow != this.usableHeightPrevious)
{
this.frameLayoutParams.Height = usableHeightNow;
this.mChildOfContent.RequestLayout();
this.usableHeightPrevious = usableHeightNow;
}
}
Надеюсь, это поможет кому-то с похожими проблемами.