Возникла проблема с тем, что программная клавиша перекрывает поле ввода, расположенное внизу.
![enter image description here](https://i.stack.imgur.com/SunZJ.png)
XAML код:
<ContentPage.Content>
<AbsoluteLayout VerticalOptions="Fill">
<ScrollView AbsoluteLayout.LayoutFlags="All" AbsoluteLayout.LayoutBounds="0,0,1,0.9">
<Label Text="Heading" />
</ScrollView>
<Entry x:Name="SearchEntry" AbsoluteLayout.LayoutBounds=".5,1,1,.1" AbsoluteLayout.LayoutFlags="All" Placeholder="Suchen..." ReturnType="Done" />
</AbsoluteLayout>
</ContentPage.Content>
Я установил KeyboardOverlap ! Плагин с помощью Nuget. Он сдвигает всю страницу вверх до тех пор, пока запись снова не станет видимой. Запись видима, но верхняя часть страницы больше не видна, потому что она сдвинута вверх.
Другим часто упоминаемым решением является упаковка содержимого страниц в ScrollView. Поскольку мне абсолютно необходим AbsoluteLayout в качестве корневого содержимого, это, к сожалению, не решение.
Я ищу решение, которое уменьшает высоту страницы, а не просто увеличивает ее, когда появляется программная клавиша.
Зачем мне это нужно? Страница заполнена динмически с результатами поиска, основанными на вводе записи. Если результатов мало, они не видны из-за смещения страницы вверх. Пользователь может подумать, что нет результатов поиска. Отображение текста типа «Нет результатов поиска». Выше запись будет простым решением, но это не вариант здесь.