Xamarin Forms 3.6 Webview Android: Softkeyboard скрывает поля ввода в Webview - PullRequest
0 голосов
/ 22 марта 2019

У нас есть Xamarin Forms View с просто панелью инструментов и WebView.

ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         Title="TestApp"
         x:Class="TestApp.Client.Views.MainPage">
<ContentPage.ToolbarItems>
    <ToolbarItem
        Order="Primary" 
        Icon="ic_settings.png"
        Clicked="OnSettingsClicked"
        AutomationId="mnuSettings"
        Priority="1"
        x:Name="mnuSettings"
        Text="Settings"
    />
</ContentPage.ToolbarItems>
<WebView"
    Source="{Binding URL}">
</WebView>

Когда WebView содержит текстовое поле HTML и поле получает фокус, экранная клавиатура открывается, но скрывает текстовое поле. В настоящее время мы используем Xamarin.Forms 3.6. Мы уже перепробовали много вещей, которые нашли в сети, но пока ничего не получалось.

Когда мы помещаем WebView в ScrollView вместе с полем ввода формы Xamarin, поле ввода перемещается вверх, когда отображается экранная клавиатура, что означает, что поведение AdjustResize, по-видимому, работает в основном, но не с WebView.

Установка WindowSoftInputMode в AdjustResize ничего не меняет.

У кого-нибудь есть идея?

1 Ответ

0 голосов
/ 25 марта 2019

Вы можете решить эту проблему, выполнив следующие действия:

1 Определите, отображается ли программная клавиатура, используя такой код:

    var inputMethodManager = (InputMethodManager)this.GetSystemService(Context.InputMethodService);
    var keyboardIsShown = inputMethodManager.IsAcceptingText;

2 Выполните анимацию, чтобы прокрутить страницу вверх, когда клавиатура

3 Выполните анимацию, чтобы прокрутить страницу вниз, когда клавиатура скрыта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...