Zdarzenia cyklu życia strony w systemie Android
Ta platforma systemu Android służy do wyłączania Disappearing
Appearing
odpowiednio wstrzymywania i wznawiania działania i stron w aplikacjach korzystających z aplikacji AppCompat. Ponadto obejmuje możliwość kontrolowania, czy klawiatura miękka jest wyświetlana w wznowieniu, jeśli była wyświetlana podczas wstrzymania, pod warunkiem, że tryb operacyjny miękkiej klawiatury jest ustawiony na WindowSoftInputModeAdjust.Resize
wartość .
Uwaga
Należy pamiętać, że te zdarzenia są domyślnie włączone, aby zachować istniejące zachowanie aplikacji, które opierają się na zdarzeniach. Wyłączenie tych zdarzeń sprawia, że cykl zdarzeń AppCompat jest zgodny z cyklem zdarzeń pre-AppCompat.
Tę specyficzną dla platformy można używać w języku XAML, ustawiając Application.SendDisappearingEventOnPause
właściwości , Application.SendAppearingEventOnResume
i Application.ShouldPreserveKeyboardOnResume
dołączone do boolean
wartości:
<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>
Alternatywnie można go używać z poziomu języka C# przy użyciu płynnego interfejsu API:
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);
Metoda Application.Current.On<Android>
określa, że ta platforma będzie działać tylko w systemie Android. Metoda Application.SendDisappearingEventOnPause
w Xamarin.Forms.PlatformConfiguration.AndroidSpecific.AppCompat
przestrzeni nazw służy do włączania lub wyłączania wyzwalania Disappearing
zdarzenia strony, gdy aplikacja przechodzi w tle. Metoda Application.SendAppearingEventOnResume
służy do włączania lub wyłączania wyzwalania Appearing
zdarzenia strony, gdy aplikacja zostanie wznowiona z tła. Metoda Application.ShouldPreserveKeyboardOnResume
jest używana do kontrolowania, czy klawiatura miękka jest wyświetlana w wznowieniu, jeśli była wyświetlana podczas wstrzymania, pod warunkiem, że tryb operacyjny klawiatury miękkiej jest ustawiony na WindowSoftInputModeAdjust.Resize
.
Wynikiem jest to, że Disappearing
zdarzenia i Appearing
strony nie zostaną wyzwolone odpowiednio w przypadku wstrzymania i wznowienia aplikacji, a jeśli klawiatura miękka była wyświetlana po wstrzymaniu aplikacji, będzie również wyświetlana po wznowieniu aplikacji: