Eventos de ciclo de vida de páginas en Android

Descargar ejemploDescargar el ejemplo

Esta plataforma Android específica se usa para deshabilitar los eventos de página y Appearing en la Disappearing pausa y reanudación de la aplicación, respectivamente, para las aplicaciones que usan AppCompat. Además, incluye la capacidad de controlar si el teclado suave se muestra en la reanudación, si se mostró en pausa, siempre que el modo de funcionamiento del teclado suave esté establecido WindowSoftInputModeAdjust.Resizeen .

Nota

Tenga en cuenta que estos eventos están habilitados de forma predeterminada para conservar el comportamiento existente para las aplicaciones que se basan en los eventos. Al deshabilitar estos eventos, el ciclo de eventos de AppCompat coincide con el ciclo de eventos anterior a AppCompat.

Esta plataforma específica de la plataforma se puede consumir en XAML estableciendo las Application.SendDisappearingEventOnPausepropiedades boolean adjuntas , Application.SendAppearingEventOnResumey Application.ShouldPreserveKeyboardOnResume en valores:

<Application ...
             xmlns:android="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific;assembly=Xamarin.Forms.Core"             xmlns:androidAppCompat="clr-namespace:Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat;assembly=Xamarin.Forms.Core"
             android:Application.WindowSoftInputModeAdjust="Resize"
             androidAppCompat:Application.SendDisappearingEventOnPause="false"
             androidAppCompat:Application.SendAppearingEventOnResume="false"
             androidAppCompat:Application.ShouldPreserveKeyboardOnResume="true">
  ...
</Application>

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

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

Xamarin.Forms.Application.Current.On<Android>()
     .UseWindowSoftInputModeAdjust(WindowSoftInputModeAdjust.Resize)
     .SendDisappearingEventOnPause(false)
     .SendAppearingEventOnResume(false)
     .ShouldPreserveKeyboardOnResume(true);

El Application.Current.On<Android> método especifica que esta plataforma específica solo se ejecutará en Android. El Application.SendDisappearingEventOnPause método , en el Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat espacio de nombres , se usa para habilitar o deshabilitar la activación del Disappearing evento de página, cuando la aplicación entra en segundo plano. El Application.SendAppearingEventOnResume método se usa para habilitar o deshabilitar la activación del Appearing evento de página, cuando la aplicación se reanuda desde segundo plano. El Application.ShouldPreserveKeyboardOnResume método se usa para controlar si el teclado suave se muestra en la reanudación, si se mostró en pausa, siempre que el modo de funcionamiento del teclado suave esté establecido en WindowSoftInputModeAdjust.Resize.

El resultado es que los Disappearing eventos de página y Appearing no se activarán en la pausa y reanudación de la aplicación, respectivamente, y que si el teclado flexible se mostró cuando la aplicación estaba en pausa, también se mostrará cuando se reanude la aplicación:

plataforma Eventos de ciclo de vida específicos de la plataforma