Seitenlebenszyklusereignisse unter Android
Diese Android-plattformspezifische Funktion dient zum Deaktivieren der Disappearing
Seitenereignisse und Appearing
zum Anhalten bzw. Fortsetzen der Anwendung für Anwendungen, die AppCompat verwenden. Darüber hinaus bietet sie die Möglichkeit, zu steuern, ob die softe Tastatur beim Fortsetzen angezeigt wird, wenn sie beim Anhalten angezeigt wurde, vorausgesetzt, dass der Betriebsmodus der weichen Tastatur auf WindowSoftInputModeAdjust.Resize
festgelegt ist.
Hinweis
Beachten Sie, dass diese Ereignisse standardmäßig aktiviert sind, um das vorhandene Verhalten für Anwendungen beizubehalten, die auf den Ereignissen basieren. Wenn Sie diese Ereignisse deaktivieren, entspricht der AppCompat-Ereigniszyklus dem Ereigniszyklus vor AppCompat.
Diese plattformspezifische Eigenschaft kann in XAML verwendet werden, indem die angefügten Application.SendDisappearingEventOnPause
Eigenschaften , Application.SendAppearingEventOnResume
und Application.ShouldPreserveKeyboardOnResume
auf boolean
Werte festgelegt werden:
<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>
Alternativ kann es über C# mithilfe der Fluent-API verwendet werden:
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);
Die Application.Current.On<Android>
-Methode gibt an, dass diese plattformspezifische Nur unter Android ausgeführt wird. Die Application.SendDisappearingEventOnPause
-Methode im -Namespace wird verwendet, um das Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat
Auslösen des Disappearing
Seitenereignisses zu aktivieren oder zu deaktivieren, wenn die Anwendung in den Hintergrund wechselt. Die Application.SendAppearingEventOnResume
-Methode wird verwendet, um das Auslösen des Appearing
Seitenereignisses zu aktivieren oder zu deaktivieren, wenn die Anwendung aus dem Hintergrund fortgesetzt wird. Die Application.ShouldPreserveKeyboardOnResume
-Methode wird verwendet, um zu steuern, ob die softe Tastatur beim Fortsetzen angezeigt wird, sofern der Betriebsmodus der soften Tastatur auf WindowSoftInputModeAdjust.Resize
festgelegt ist.
Das Ergebnis ist, dass die Disappearing
Seitenereignisse und Appearing
beim Anhalten bzw. Fortsetzen der Anwendung nicht ausgelöst werden. Wenn die softe Tastatur angezeigt wurde, als die Anwendung angehalten wurde, wird sie auch angezeigt, wenn die Anwendung fortgesetzt wird: