É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.Resize
sur .
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.SendDisappearingEventOnPause
propriétés boolean
associées Application.SendAppearingEventOnResume
aux 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.Resize
sur .
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 :