Как убедиться, что клавиатура не размещена над записью, когда она сфокусирована в Xamarin?

xamarin #xamarin.forms

#xamarin #xamarin.forms

Вопрос:

У меня есть Entry элемент, который помещается в a ContentView , и он ContentView помещается в сетку. Когда это Entry сфокусировано, клавиатура помещается поверх ContentView того, чтобы пользователь не видел запись.

Я хотел бы знать, есть ли способ определить, является ли вид видимым, и если нет, убедитесь, что это так (запретить размещение клавиатуры над ним).

Любые мысли о том, как я мог бы это сделать.

Мне нужно, чтобы это работало конкретно на iOS, Android и Windows, похоже, не имеют этой проблемы в моем случае использования.

Комментарии:

1. Поместите представление внутри a ScrollView , и оно обработает перемещение записи вверх

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

3. Таким образом, он работает на Android и UWP автоматически, когда находится внутри Scrollview, но не на iOS. Есть ли что-то конкретное, что я могу сделать, чтобы исправить это?

Ответ №1:

На платформе Android официальный документ предоставляет программный режим ввода с клавиатуры. См. https://docs.microsoft.com/en-us/xamarin/xamarin-forms/platform/android/soft-keyboard-input-mode за подробностями.

На платформе IOS вы можете запросить установку KeyboardOverlap в nuget IOS, а затем добавить KeyboardOverlapRenderer.Init (); в AppDelegate для достижения эффекта в IOS.

Комментарии:

1. Частично это решает один вариант использования, но не решает его в другом. Я думаю, можно с уверенностью сказать, что это работает. поэтому я отмечу это как ответ.