Page Lifecycle-Ereignisse unter Android
Diese plattformspezifische Android-Plattform wird verwendet, um die Disappearing
Ereignisse und Appearing
Seitenereignisse bei der Anwendungspause bzw. zum Fortsetzen für Anwendungen zu deaktivieren, die AppCompat verwenden. Darüber hinaus bietet es die Möglichkeit, zu steuern, ob die Bildschirmtastatur beim Fortsetzen angezeigt wird, sofern sie angehalten angezeigt wurde, vorausgesetzt, der Betriebsmodus der Softtastatur ist auf festgelegt WindowSoftInputModeAdjust.Resize
.
Hinweis
Beachten Sie, dass diese Ereignisse standardmäßig aktiviert sind, um vorhandene Verhaltensweisen für Anwendungen beizubehalten, die auf den Ereignissen basieren. Wenn Sie diese Ereignisse deaktivieren, entspricht der AppCompat-Ereigniszyklus dem Vor-AppCompat-Ereigniszyklus.
Diese plattformspezifische Kann in XAML verwendet werden, indem sie die Application.SendDisappearingEventOnPause
, Application.SendAppearingEventOnResume
und Application.ShouldPreserveKeyboardOnResume
angefügten Eigenschaften auf boolean
Werte festlegen:
<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 sie mit der Fluent-API von C# genutzt 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 plattformspezifisch nur auf Android läuft. Die Application.SendDisappearingEventOnPause
Methode im Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat
Namespace wird verwendet, um das 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 Bildschirmtastatur beim Fortsetzen angezeigt wird, sofern sie angehalten angezeigt wird, vorausgesetzt, der Betriebsmodus der Softtastatur ist auf festgelegt WindowSoftInputModeAdjust.Resize
.
Das Ergebnis ist, dass die Disappearing
Ereignisse und Appearing
Seitenereignisse nicht beim Anhalten und Fortsetzen der Anwendung ausgelöst werden. Wenn die Bildschirmtastatur angezeigt wurde, wenn die Anwendung angehalten wurde, wird sie auch angezeigt, wenn die Anwendung fortgesetzt wird: