Eventi del ciclo di vita della pagina in Android

Download Sample Scaricare l'esempio

Questo specifico della piattaforma Android viene usato per disabilitare rispettivamente gli eventi di Disappearing pagina e Appearing nell'applicazione in pausa e ripresa, per le applicazioni che usano AppCompat. Inoltre, include la possibilità di controllare se la tastiera soft viene visualizzata alla ripresa, se è stata visualizzata in pausa, purché la modalità operativa della tastiera soft sia impostata su WindowSoftInputModeAdjust.Resize.

Nota

Si noti che questi eventi sono abilitati per impostazione predefinita per mantenere il comportamento esistente per le applicazioni che si basano sugli eventi. La disabilitazione di questi eventi rende il ciclo di eventi AppCompat corrispondente al ciclo di eventi pre-AppCompat.

Questa piattaforma specifica della piattaforma può essere utilizzata in XAML impostando le Application.SendDisappearingEventOnPauseproprietà associate , Application.SendAppearingEventOnResumee Application.ShouldPreserveKeyboardOnResume sui boolean valori:

<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>

In alternativa, può essere usato da C# usando l'API Fluent:

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);

Il Application.Current.On<Android> metodo specifica che questa specifica della piattaforma verrà eseguita solo in Android. Il Application.SendDisappearingEventOnPause metodo, nello spazio dei Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat nomi , viene usato per abilitare o disabilitare la generazione dell'evento Disappearing di pagina quando l'applicazione entra in background. Il Application.SendAppearingEventOnResume metodo viene usato per abilitare o disabilitare la generazione dell'evento Appearing di pagina quando l'applicazione riprende dallo sfondo. Il Application.ShouldPreserveKeyboardOnResume metodo viene usato per controllare se la tastiera soft viene visualizzata al curriculum, se è stata visualizzata in pausa, purché la modalità operativa della tastiera soft sia impostata su WindowSoftInputModeAdjust.Resize.

Il risultato è che gli eventi della Disappearing pagina e Appearing non verranno attivati rispettivamente in pausa e ripresa dell'applicazione e che, se la tastiera temporanea è stata visualizzata quando l'applicazione è stata sospesa, verrà visualizzata anche quando l'applicazione riprende:

Lifecycle Events Platform-Specific