Modo de entrada de teclado virtual en Android

Download SampleDescargar el ejemplo

Esta plataforma Android específica se usa para configurar el modo operativo para un área de entrada de teclado virtual y se consume en XAML estableciendo la propiedad adjunta Application.WindowSoftInputModeAdjust en un valor de la enumeración WindowSoftInputModeAdjust:

<Application ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"
             android:Application.WindowSoftInputModeAdjust="Resize">
  ...
</Application>

Como alternativa, se puede consumir desde C# mediante la API fluida:

using Xamarin.Forms.PlatformConfiguration;
using Xamarin.Forms.PlatformConfiguration.AndroidSpecific;
...

App.Current.On<Android>().UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize);

El método Application.On<Android> especifica que esta plataforma específica solo se ejecutará en Android. El método Application.UseWindowSoftInputModeAdjust, en el espacio de nombres Xamarin.Forms.PlatformConfiguration.AndroidSpecific, se usa para establecer el modo de funcionamiento del área de entrada del teclado en pantalla, con la enumeración WindowSoftInputModeAdjustque proporciona dos valores: Pan y Resize. El valor Pan usa la opción de ajuste AdjustPan, que no cambia el tamaño de la ventana cuando un control de entrada tiene el foco. En su lugar, el contenido de la ventana se muestra en panorámica para que el teclado en pantalla no oscurezca el foco actual. El valor Resize usa la opción de ajuste AdjustResize, que cambia el tamaño de la ventana cuando un control de entrada tiene el foco, para dejar espacio para el teclado en pantalla.

El resultado es que el modo de funcionamiento del área de entrada del teclado en pantalla se puede establecer cuando un control de entrada tiene el foco:

Soft Keyboard Operating Mode Platform-Specific