Partager via


Événements de cycle de vie des pages sur Android

Cette plateforme Android spécifique est utilisée pour désactiver les événements de page et Appearing de Disappearing pause de l’application, respectivement, pour les applications qui utilisent AppCompat. En outre, il inclut la possibilité de contrôler si le clavier logiciel est affiché sur la reprise, s’il a été affiché en pause, à condition que le mode d’exploitation du clavier logiciel soit défini WindowSoftInputModeAdjust.Resizesur .

Remarque

Notez que ces événements sont activés par défaut pour conserver le comportement existant pour les applications qui s’appuient sur les événements. La désactivation de ces événements rend le cycle d’événements AppCompat identique au cycle d’événements pré-AppCompat.

Cette plateforme spécifique peut être consommée en XAML en définissant les Application.SendDisappearingEventOnPausepropriétés boolean associées Application.SendAppearingEventOnResumeaux Application.ShouldPreserveKeyboardOnResume valeurs :

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

Elle peut également être consommée à partir de C# à l’aide de 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);

La Application.Current.On<Android> méthode spécifie que cette plateforme spécifique ne s’exécutera que sur Android. La Application.SendDisappearingEventOnPause méthode, dans l’espace Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat de noms, est utilisée pour activer ou désactiver le déclenchement de l’événement Disappearing de page, lorsque l’application entre en arrière-plan. La Application.SendAppearingEventOnResume méthode est utilisée pour activer ou désactiver le déclenchement de l’événement Appearing de page, lorsque l’application reprend à partir de l’arrière-plan. La Application.ShouldPreserveKeyboardOnResume méthode est utilisée pour contrôler si le clavier logiciel est affiché sur la reprise, s’il a été affiché en pause, à condition que le mode d’exploitation du clavier logiciel soit défini WindowSoftInputModeAdjust.Resizesur .

Le résultat est que les Disappearing événements et Appearing les événements de page ne seront pas déclenchés sur la pause de l’application et reprendront respectivement, et que si le clavier logiciel était affiché lorsque l’application a été suspendue, elle s’affiche également lorsque l’application reprend :

Événements de cycle de vie spécifiques à la plateforme