Форма Xamarin Перекрытие клавиатуры Поле ввода - PullRequest
0 голосов
/ 26 апреля 2018

Я хочу прокрутить страницу при открытой клавиатуре. Прямо сейчас клавиатура покрывает другие мои поля ввода. Я пробовал мягкий метод ввода. Но он не работает в форме ксамарина.

Что мне делать?

1 Ответ

0 голосов
/ 26 апреля 2018

Вы должны добавить перевод вручную на фокус ввода.Попробуйте следующий код в конструкторе:

 this.entryname.Focused += (s, e) => { SetLayoutPosition(onFocus: true); };
 this.entryname.Unfocused += (s, e) => { SetLayoutPosition(onFocus: false); };

Затем после просто вставьте ниже метод:

void SetLayoutPosition(bool onFocus)
    {
        if (onFocus)
        {
            if (Device.RuntimePlatform == Device.iOS)
            {
                this.CenteredStackLayout.TranslateTo(0, -100, 50);
            }
            else if (Device.RuntimePlatform == Device.Android)
            {
                this.CenteredStackLayout.TranslateTo(0, -100, 50);
            }
        }
        else
        {
            if (Device.RuntimePlatform == Device.iOS)
            {
                this.CenteredStackLayout.TranslateTo(0, 0, 50);
            }
            else if (Device.RuntimePlatform == Device.Android)
            {
                this.CenteredStackLayout.TranslateTo(0, 0, 50);
            }
        }
    }

Вы можете изменить «50» на любое значение в соответствии с вашими требованиями.

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